-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add ability to set custom multipart boundary value #820
Conversation
@PokeGuys - Can you please add one practical use case and its example in the PR description? |
@jeevatkm Hi. Updated. |
request.go
Outdated
@@ -458,6 +459,13 @@ func (r *Request) SetMultipartFields(fields ...*MultipartField) *Request { | |||
return r | |||
} | |||
|
|||
// SetBoundary method sets the multipart boundary for the request | |||
// By default a random boundary will be generated in `mime/multipart`. | |||
func (r *Request) SetBoundary(boundary string) *Request { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PokeGuys Thanks for adding the use case detail to the PR description.
Can you refactor this method as below and it includes updated godoc and version info too?
// SetMultipartBoundary method sets the custom multipart boundary for the multipart request.
// Typically, the `mime/multipart` package generates a random multipart boundary, if not provided.
//
// Since v2.15.0
func (r *Request) SetMultipartBoundary(boundary string) *Request {
r.multipartBoundary = boundary
return r
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated.
* clarify `SetMultipartBoundary` method comment * rename method name from `SetBoundary` to `SetMultipartBoundary`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @PokeGuys, for the PR.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## v2 #820 +/- ##
==========================================
+ Coverage 96.67% 96.68% +0.01%
==========================================
Files 14 14
Lines 1742 1748 +6
==========================================
+ Hits 1684 1690 +6
Misses 37 37
Partials 21 21 ☔ View full report in Codecov by Sentry. |
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/go-resty/resty/v2](https://redirect.github.com/go-resty/resty) | `v2.14.0` -> `v2.15.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-resty%2fresty%2fv2/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-resty%2fresty%2fv2/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-resty%2fresty%2fv2/v2.14.0/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-resty%2fresty%2fv2/v2.14.0/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>go-resty/resty (github.com/go-resty/resty/v2)</summary> ### [`v2.15.0`](https://redirect.github.com/go-resty/resty/releases/tag/v2.15.0) [Compare Source](https://redirect.github.com/go-resty/resty/compare/v2.14.0...v2.15.0) ### Release Notes #### New Features - feat: add max reponse body limit by [@​trim21](https://redirect.github.com/trim21) in [https://github.com/go-resty/resty/pull/830](https://redirect.github.com/go-resty/resty/pull/830) - feat: add SetClientRootCertificate method support clientCAs usage by [@​MagHErmit](https://redirect.github.com/MagHErmit) in [https://github.com/go-resty/resty/pull/826](https://redirect.github.com/go-resty/resty/pull/826) #### Enhancements - feat: add ability to set custom multipart boundary value by [@​PokeGuys](https://redirect.github.com/PokeGuys) in [https://github.com/go-resty/resty/pull/820](https://redirect.github.com/go-resty/resty/pull/820) - feat(refactor): for pr [#​826](https://redirect.github.com/go-resty/resty/issues/826) by [@​jeevatkm](https://redirect.github.com/jeevatkm) in [https://github.com/go-resty/resty/pull/848](https://redirect.github.com/go-resty/resty/pull/848) #### Bug Fixes - Fix request/response logging for SetDoNotParseResponse(true) by [@​kon3gor](https://redirect.github.com/kon3gor) in [https://github.com/go-resty/resty/pull/836](https://redirect.github.com/go-resty/resty/pull/836) - fix(enhancement): add explicit option to enable generate curl command in conjunction with debug mode and few clean ups [#​828](https://redirect.github.com/go-resty/resty/issues/828) by [@​jeevatkm](https://redirect.github.com/jeevatkm) in [https://github.com/go-resty/resty/pull/842](https://redirect.github.com/go-resty/resty/pull/842) #### Build - feat(enhancement): update bazel config by [@​frank30941](https://redirect.github.com/frank30941) in [https://github.com/go-resty/resty/pull/833](https://redirect.github.com/go-resty/resty/pull/833) - build: go min version and build config update [#​835](https://redirect.github.com/go-resty/resty/issues/835) by [@​jeevatkm](https://redirect.github.com/jeevatkm) in [https://github.com/go-resty/resty/pull/837](https://redirect.github.com/go-resty/resty/pull/837) - Update go vesion to 1.20 by [@​kon3gor](https://redirect.github.com/kon3gor) in [https://github.com/go-resty/resty/pull/841](https://redirect.github.com/go-resty/resty/pull/841) #### Documentation - doc: godoc improvements and corrections by [@​jeevatkm](https://redirect.github.com/jeevatkm) in [https://github.com/go-resty/resty/pull/849](https://redirect.github.com/go-resty/resty/pull/849), [https://github.com/go-resty/resty/pull/851](https://redirect.github.com/go-resty/resty/pull/851) - doc(readme): Add a note, GenerateCurlCommand by [@​ahuigo](https://redirect.github.com/ahuigo) in [https://github.com/go-resty/resty/pull/817](https://redirect.github.com/go-resty/resty/pull/817) - release: version bump and readme update for v2.15.0 by [@​jeevatkm](https://redirect.github.com/jeevatkm) in [https://github.com/go-resty/resty/pull/852](https://redirect.github.com/go-resty/resty/pull/852) #### New Contributors - [@​PokeGuys](https://redirect.github.com/PokeGuys) made their first contribution in [https://github.com/go-resty/resty/pull/820](https://redirect.github.com/go-resty/resty/pull/820) - [@​trim21](https://redirect.github.com/trim21) made their first contribution in [https://github.com/go-resty/resty/pull/830](https://redirect.github.com/go-resty/resty/pull/830) - [@​frank30941](https://redirect.github.com/frank30941) made their first contribution in [https://github.com/go-resty/resty/pull/833](https://redirect.github.com/go-resty/resty/pull/833) - [@​kon3gor](https://redirect.github.com/kon3gor) made their first contribution in [https://github.com/go-resty/resty/pull/841](https://redirect.github.com/go-resty/resty/pull/841) - [@​MagHErmit](https://redirect.github.com/MagHErmit) made their first contribution in [https://github.com/go-resty/resty/pull/826](https://redirect.github.com/go-resty/resty/pull/826) **Full Changelog**: go-resty/resty@v2.14.0...v2.15.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/Michsior14/transmission-gluetun-port-update). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Use case
Integrating with some web service that require a specific boundary format in multipart/form-data requests.
Some legacy service might requires a specific prefix in the boundary value, to ensure the compatibility, we need the ability to set a custom boundary value in the multipart request.
Example