Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(client): correctly marshaltext/plain requests#1975

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
jamietanna wants to merge1 commit intomain
base:main
Choose a base branch
Loading
fromiss/1914

Conversation

jamietanna
Copy link
Member

@jamietannajamietanna commentedMay 10, 2025
edited
Loading

As noted in#1914, there are cases where trying to interact with a
text/plain endpoint that requires input, for instance when receiving a
UUID, may not render correctly.

We should first check if the type is aStringer, aka has aString()
method, and use that - otherwise usefmt.Sprintf("%v", ...) to
generate a string type.

Via0, we can make sure that we wrap the generated type in an empty
interface, so we can perform the type assertion.

This also adds a test case to validate the functionality for:

  • a UUID, which has aString() method
  • afloat32, which is a primitive datatype that needs to use
    fmt.Sprintf

Co-authored-by: claude-sonnet:3.7-thinking

Closes#1914.

codeout reacted with thumbs up emoji
As noted in#1914, there are cases where trying to interact with a`text/plain` endpoint that requires input, for instance when receiving aUUID, may not render correctly.We should first check if the type is a `Stringer`, aka has a `String()`method, and use that - otherwise use `fmt.Sprintf("%v", ...)` togenerate a string type.Via [0], we can make sure that we wrap the generated type in an empty`interface`, so we can perform the type assertion.This also adds a test case to validate the functionality for:- a UUID, which has a `String()` method- a `float32`, which is a primitive datatype that needs to use  `fmt.Sprintf`Co-authored-by: claude-sonnet:3.7-thinking <github-copilot@jamietanna.co.uk>Closes#1914.[0]:https://www.jvt.me/posts/2025/05/10/go-type-assertion-concrete/
if stringer, ok := interface{}(body).(fmt.Stringer); ok {
bodyReader = strings.NewReader(stringer.String())
} else {
bodyReader = strings.NewReader(fmt.Sprintf("%v", body))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Suggested change
bodyReader = strings.NewReader(fmt.Sprintf("%v",body))
bodyReader = strings.NewReader(fmt.Sprint(body))

@jamietannajamietanna modified the milestones:v2.5.0,v2.6.0Jul 15, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@gaiaz-iusipovgaiaz-iusipovgaiaz-iusipov left review comments

At least 1 approving review is required to merge this pull request.

Assignees
No one assigned
Labels
bugSomething isn't workingclient
Projects
None yet
Milestone
v2.6.0
Development

Successfully merging this pull request may close these issues.

Cannot convert text/plain uuid in requestBody to string
2 participants
@jamietanna@gaiaz-iusipov

[8]ページ先頭

©2009-2025 Movatter.jp