Requests templates
Checklist
- [x] I've searched for similar feature requests.
Enhancement request
If I am not mistaken then currently there is no support for templates, right?
I would like to see templates in httpie, so that I don't have to retype same arguments across many requests.
By templates I mean that instead of executing http POST my.api.endpoint/users login=testuser password=testpassword I could just do http login or something along this line.
In more details, I would like to see the abilities to:
- Create a template from a command
- Edit a template (e.g.
http edit login password=newpasswordupdates the password argument in the template) - Use a template with modifications. For example I have to pass many casual arguments to a group of endpoints (pagination, sorting, apikey, etc.). The idea is to create a template like
base=http my.api.endpoint sort=asc page=1 apikey=asdfand then use it for interacting with various endpoints. Likehttp base /some/endpoint param1=x param2=y
Problem it solves
I am always frustrated when I have to retype arguments / copy-paste requests. Example: I am developing an API of an app and there are a few endpoints:
- Login a user
- Add some money to the user's account
- Check the balance
Currently every time I want to do a loop (login, add some money, check balance) I have to enter the entire commands. With templates this process would be much simpler.
Additional information, screenshots, or code examples
…
I've the exact same problem as you, I've tried to use fish alias but It's a little bit complicated because the order of the element matters, for exemple the place where the http methods is matter. It would be easier if there was a method flag.
We are a group of KTH students who would like to work on this issue!
We are a group of KTH students who would like to work on this issue!
Well I was ready to investigate but go ahead and contribute!
I would like to be able to pass a template file and have http replace all the keys in the template file with the values from the command line. That will work well for nested or complex json.
It would then POST or PUT the resulting output as data to send to the server.