cli icon indicating copy to clipboard operation
cli copied to clipboard

Requests templates

Open nebolax opened this issue 2 years ago • 4 comments

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:

  1. Create a template from a command
  2. Edit a template (e.g. http edit login password=newpassword updates the password argument in the template)
  3. 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=asdf and then use it for interacting with various endpoints. Like http 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:

  1. Login a user
  2. Add some money to the user's account
  3. 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

…

nebolax avatar Feb 14 '23 07:02 nebolax

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.

lefuturiste avatar Feb 27 '23 15:02 lefuturiste

We are a group of KTH students who would like to work on this issue!

sanredz avatar Mar 01 '23 09:03 sanredz

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!

lefuturiste avatar Mar 06 '23 13:03 lefuturiste

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.

hookenz avatar Jan 11 '24 01:01 hookenz