thunderclient / thunder-client-support

Thunder Client is a lightweight Rest API Client Extension for VS Code.
https://www.thunderclient.com
Other
3.61k stars 126 forks source link

Multi-part requests: user should be able to set content-type for each part in a multi-part request. #1482

Closed ash-eng-spin closed 6 months ago

ash-eng-spin commented 6 months ago

When setting up a multipart request, Thunder Client automatically selects the content-type of the file part. The auto-assigned content-type is not always the desired content-type of the API spec, therefore our request will always result in a 400 Bad Request, because the content-type is wrong.

Please allow a way for the user to set the content type for a file part or text part of a multi-part request.

Form Fields: user should be able to set because this could application/json, application/xml, text/plain, blank or many other things. Files: user should be able to set because this could be blank, application/pdf, application/octet-stream, application/vnd.ms-excel, text/csv or many other things.

Example: Multipart Form Data: PDF file content-type automatically set. No manual way for user to set content-type for a file. Why is this a problem: API spec for the pdf file wants "application/octet-stream" for the content-type. Thunder Client automatically sets the content-type to "application/pdf". No way to manually set the content-type. Results in 400 bad request because content-type does not match API spec and there is no way to change in Thunder Client.

image

Versions

ThunderClient v.2.17.8 Visual Studio Code 1.86.2 OS: Windows_NYx64 10.0.22621

Steps to reproduce 1

  1. Create POST request
  2. Go to Body > Form > Form Fields
  3. Enter field name and value <---User cannot change content-type of the file

Steps to reproduce 2

  1. Create POST request
  2. Go to Body > Form
  3. Select Files check box
  4. Go to Files section
  5. Enter field name and value <---User cannot change content-type of the file

For reference this is how it works in Postman:

image

Free Version - can't move to paid until this is a feature. It's a show stopper for us.

rangav commented 6 months ago

Hi @ash-eng-spin

Thanks for the feedback.

Can you share your company details using below form. https://www.thunderclient.com/contact

rangav commented 6 months ago

@ash-eng-spin

Here is the proposed solution in the next update - you can append content-type to the field names

Let me know your feedback

Screenshot 2024-02-24 at 17 39 52
rangav commented 6 months ago

This feature is implemented and published to the marketplace, please update to v2.18.0

See all features in this update https://github.com/rangav/thunder-client-support/releases/tag/v2.18.0

Please test and let me know your feedback.

ash-eng-spin commented 6 months ago

Thanks! This is working great. Also impressed that the content-types are importing from Postman collections.

I was worried that without a separate field a user might not be able to distinguish how to get their content-type applied, but I see you have linked a how-to on the screen, so that's nice.

rangav commented 6 months ago

Thanks for the confirmation 👍