Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Chang-Hung Liang
    @fogine I'd like to know if this demotivates you from contributing to the project. If so, what if we share revenues with our contributors? Even though I haven't made a dime out of it so far. I don't want to drive contributors away while monetizing the project. Any ideas?

    @eliangcs, The following is my view and thoughts.

    By "a free community" expression I mean a group of people activelly interested in a project by participating in the development (with no expectation of financial profit) with anything more than small bug fixes or feature requests.

    Personally, I don't think that the current business model is gonna work well with any kind of "free" community as contributors are basically cut off of upstream.
    In my opinion, trying to get a free community work with commercialized sector is understandably only gonna get people confused. As you suggested, making a commercialized organization from the product could possibly work.
    However, questions raise, whether the product is large enough? Can it produce enough value over time to sustain itself on the market and uphold its price demands?
    Maybe it could make the organization more successful if the organization produced other related products along http-prompt...? Have you stumbled upon the Restlet company, @eliangcs?
    I see two general approaches which tend to collide when combined.

    • Free OSS community where options for any financial profits are limited and not guaranteed (bounties & support via patreon etc)...
      Contributors are left to make ends meet aside their work in the OSS or count on voluntary financial supporters. This is the main reason why the OSS development tends to be noticeably slower then commercialized sector as free time of individuals is limited.
      The main advantage is that literally everyone (without an exeption) can profit from produced value and everyone is welcomed in the community and has an opportunity to participate in final product.
    • In comercialized organizations (to any degree), members can afford to spend more time making the final product given a period of time.
      Thus the organization produces more value over time (not necessarily of better quality ).
      Drawbacks are that the right to profit from produced value (use product) is strictly conditional... it creates user expectation of the organization to produce value.
      We can say that to certain degree we splitted OSS community to two groups, a group which produces value and the other one which uses the product.

    I'm not even sure if the two approaches can be combined in today's society. I think the roots of the issue are in politics but let's not dive into that.
    To answer your question more dirrectly, the current circumstances make me to reprioritize my current and future focus of my contributions in OSS
    However it does not preclude me from contributing to http-prompt project as it will depend on how I will be using http-prompt, how much free time will be available and whether I will need some functionality not implemented yet.
    if you were interested in more close collaboration, I'd be open to that.
    I realize that I've written a lot of stuff you already know but still I hope these insights will be somewhat helpful to you.

    Chang-Hung Liang

    @fogine thanks for the feedback! It's really valuable. I agree with you that current business model probably won't work and it retrains the community from growing. So I think I'll change my direction here. Instead of monetizing the core product (http-prompt), we should make another related product based on http-prompt. The related product is probably an SaaS that bring more organization-specific features to http-prompt, similar to what Postman and Insomnia do. Anyway, it's still undecided. In the short term, I would do the following:

    1. Remove the early access subscription
    2. Change http-prompt license back to MIT
    3. Release v0.10.0 publicly

    Let me know if you have any other ideas. Thanks!

    Steve Trefethen
    @eliangcs I just found http-prompt and it looks quite interesting. I would agree with @fogine regarding the business model issues and I think you reached the right conclusion here.
    Chang-Hung Liang
    @stevetrefethen_twitter I've asked several people and they all gave me the similar feedback. Good to know you agree with it, too!
    Assaf Lavi
    @eliangcs just discovered http-prompt yesterday, and I am thoroughly in love.
    Paolo D.
    I'd like to express my gratitude here too. This is some really great piece of work :)
    Chang-Hung Liang
    @assaflavi_twitter @pdonorio really appreciate your compliments :)
    Giuseppe Piscopo

    Hello all. Just found about this command line client. Is there a way to store/list/add/remove/manage a list of presets? Similar somehow to what you can do in Postman. What I mean is something like editing an input file in some format where you can list all your preset REST calls with their own properties. E.g.:

    presets: [{
      name: 'Load foos - Local machine',
      url: 'http://localhost:1234/api/foo',
      verb: 'get',
      authorization: {
        type: 'basic',
        username: 'johndoe',
        password: 'SECRET PASSWORD',
      headers: [{
        key: 'accept',
        value: 'application/json',
    }, {

    and then be able to feed one of this presets into http prompt command line: http-prompt --input ./my-presets.conf --preset 'Load foos - Local machine'

    Chang-Hung Liang
    @GiuseppePiscopo this sounds like what the env command does. You can export the env output to a file. Then import it with exec or source command. Refer to the doc here: http://docs.http-prompt.com/en/latest/user-guide.html#saving-and-loading-sessions
    Giuseppe Piscopo
    thanks @eliangcs , that might be exactly what I was looking for. Thanks for pointers
    Trying to save a session but having a hard time. http://search.dev.clario.us/pnix/indicator/_search> env > ~/dev/session.json returns error [Errno 20] Not a directory: u'~/dev/session.json'.
    ~/dev is an existing folder on my disk.
    Chang-Hung Liang
    @devilelephant http-prompt doesn't recognize '~'. You have to type out actual path, like /home/username/dev/session.json or ./dev/session.json
    Patrick Kristiansen
    Hi everyone. Stupid question here, but how do I actually use an autocomplete option, when the suggestion is made from something I typed earlier? Pressing <TAB> didn't work
    @patrkris I think It uses emacs-style binding which is ctrl+e by default.
    Chang-Hung Liang
    @patrkris or right arrow key
    About # Body parameters in raw JSON (new in v0.9.0)
    I am trying to post json
    but typing: name:=Tatooine or name:='Tattoine' or name:="Tattoine" I get an error about "ValueError: No JSON object could be decoded"
    So how can I set JSON fields with strings ?
    sorry, got it, just put name=Tatooine will work
    @eliangcs Hi! Awesom project, i really hope u get some cash out of it, even if its open source. I have but a small suggestion.
    Put a message when 'less' is not found, that tells the user to fix his config file. Found the solution above, and the docs does not seem to mention it.
    also running this trough the normal windows console is not working, spent an hour debugging using print statements :D then i started up a Cmder (cmder.net) console, reverted my config edit to less, and it looks like Bobs my uncle.
    Chang-Hung Liang
    @kimswe this is a great feedback! It'd be easier for us to track this if you can create an issue on github. I probably won't have time to fix this anytime soon, but someone else might. Again, thanks for the great feedback!
    Alan Sill
    Have been playing with fx (https://github.com/antonmedv/fx) installed via npm. Using it within http-prompt doesn't work, as in the example "get | fx", to browse json output. Any hints as to why?
    Angad Singh
    Hey guys, I can't find any documentation about changing themes, I've been through the github, the website and the docs.
    It'd be great if someone could help me change my theme!
    Hi I wanna ask how can I post with json content with new feature field=@file.json

    file.json content

    "addr0": "Unit 315, 3/f PAK TIN ESTATE, BLOCK 10, Shek Kip Mei",
    "reference": "1",
    "returnRecords": 10

    when I run with debug mode , the content is

    "data": "{\"field\": \"{\r\n\t\\"addr0\\": \\"Unit 315, 3/f PAK TIN ESTATE, BLOCK 10, Shek Kip Mei\\",\r\n\t\\"reference\\": \\"1\\",\r\n\t\\"returnRecords\\": 10\r\n}\"}",

    it seems that , http-prompt add redundant file in the json content "file: {}" . I really dont need it.

    given: I am using version : 1.0.2
    Zan Loy
    Hi. I am trying to take the result of a /login POST and put the JWT from that request into my environment. How would I go about doing this? I can isolate the value by doing: post /login | jq .token
    Zan Loy
    Actually maybe I'm just dumb... I might have a fundamental misunderstanding of how JWT works.
    Roberto Vallejo
    hi all, I'm wondering if there is a way to load the functions in my .bash_profile so I can execute them by surronding with `
    I tried source .bash_profile

    Hello everyone. It seems for me, that http-prompt somehow ignores Content-Type: application/x-www-form-urlencoded. Even though httpie preview returns the right command

    http --form --proxy=https://localhost:9999 --verbose --verify=no http://example.com password=bar username=foo Content-Type:application/x-www-form-urlencoded

    the actual request treats the body to be json

    http://example.com> post
    POST / HTTP/1.1
    Accept: application/json, */*
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Content-Length: 38
    Content-Type: application/x-www-form-urlencoded
    Host: example.com
    User-Agent: HTTPie/2.0.0
    {"password": "bar", "username": "foo"}

    Whereas, when running the httpie command directly on the shell, it's interpreted correctly

    $ http --form --proxy=https://localhost:9999 --verbose --verify=no http://example.com password=bar username=foo Content-Type:application/x-www-form-urlencoded                                                                                                  
    POST / HTTP/1.1
    Accept: */*
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Content-Length: 25
    Content-Type: application/x-www-form-urlencoded
    Host: example.com
    User-Agent: HTTPie/2.0.0

    Has someone experienced this issue so far as well? Was browsing the reported issue, but couldn't find something related.

    < code>http-prompt http://httpbin.org
    Traceback (most recent call last):
    File "/home/afropunk/.local/bin/http-prompt", line 7, in <module>
    from http_prompt.cli import cli
    File "/home/afropunk/.local/lib/python2.7/site-packages/http_prompt/cli.py", line 10, in <module>
    from httpie.plugins import FormatterPlugin # noqa, avoid cyclic import
    File "/home/afropunk/.local/lib/python2.7/site-packages/httpie/plugins/init.py", line 6, in <module>
    from httpie.plugins.base import (
    File "/home/afropunk/.local/lib/python2.7/site-packages/httpie/plugins/base.py", line 104
    def format_headers(self, headers: str) -> str:
    SyntaxError: invalid syntax
    Just installed
    anyone debug?

    Hello !
    Trying to send a GET request with digest auth, I get the following error :

    http-prompt http://app.example.com:8080
    Version: 1.0.0
    http://app.example.com:8080> --auth-type digest
    http://app.example.com:8080> --auth foo:bar
    http://app.example.com:8080> get
    usage: http [--json] [--form] [--compress] [--pretty {all,colors,format,none}] [--style STYLE] [--unsorted] [--sorted] [--format-options FORMAT_OPTIONS] [--print WHAT] [--headers] [--body] [--verbose]
                [--all] [--history-print WHAT] [--stream] [--output FILE] [--download] [--continue] [--session SESSION_NAME_OR_PATH | --session-read-only SESSION_NAME_OR_PATH] [--auth USER[:PASS]]
                [--auth-type {basic,digest}] [--ignore-netrc] [--offline] [--proxy PROTOCOL:PROXY_URL] [--follow] [--max-redirects MAX_REDIRECTS] [--max-headers MAX_HEADERS] [--timeout SECONDS] [--check-status]
                [--path-as-is] [--verify VERIFY] [--ssl {ssl2.3,tls1,tls1.1,tls1.2}] [--ciphers CIPHERS] [--cert CERT] [--cert-key CERT_KEY] [--ignore-stdin] [--help] [--version] [--traceback]
                [--default-scheme DEFAULT_SCHEME] [--debug]
                [METHOD] URL [REQUEST_ITEM [REQUEST_ITEM ...]]
    http: error: unrecognized arguments: GET http://app.example.com:8080

    Any tip is welcome. Thx !

    def format_headers(self, headers: str) -> str:

    SyntaxError: invalid syntax

    Experiencing the same issue.
    Mint linux(19.3 with updates)
    HTTPie (0.9.8)
    http-prompt from pip (9.0.1 python 2.7).

    oops, http-prompt should be installed with python3-pip not python-pip. That fixed the issue.
    John Meow
    Is it possible to use a custom theme?
    David Karlsson
    how do I set params for a get request?
    David Karlsson
    i can make a get request by cd {url_with_parms} and then get, but that seems unnecessary
    I'm facing a strange behaviour. If i'm running the preview of the call with httpie every thing looks as expected however when I'm running a GET call I'm getting http: error: unrecognized arguments: GET http://localhost:8080/api/test. If i redirect the hole preview to a file or just take it and runit in httpie not on http-prompt I'm getting a result as expected.
    What could be wrong. I have to mention that I'm using other parmaters as well (--auth=<encoded jwt token> and ----auth-type=jwt)
    Thank you
    Elena Lape
    @/all Hey hey! HTTPie chat is now on Discord. Join the server to get HTTPie support from the community, discuss features and contributing, and talk about all things API development: https://httpie.io/chat