Skip to content
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

As well as --data-raw, add --data-binary #35

Closed
malcolmsparks opened this issue Mar 8, 2021 · 8 comments
Closed

As well as --data-raw, add --data-binary #35

malcolmsparks opened this issue Mar 8, 2021 · 8 comments

Comments

@malcolmsparks
Copy link

According to the curl man page,

--data-raw is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the --data-binary option.

Currently, the --data-raw option does not work with java.io.File values. In my case, I'm trying to upload a binary file to the server, and want to avoid -d being generated in the curl command because it seems to corrupt files (e.g. CRs and newlines are stripped out).

@malcolmsparks malcolmsparks changed the title Replace --data-raw with --data-binary As well as --data-raw, add --data-binary Mar 8, 2021
@borkdude
Copy link
Collaborator

borkdude commented Mar 8, 2021

@malcolmsparks Sorry for this inconvenience. I changed this in commit b3bf0ba. All the tests still pass and I think this is the saner option to use.

Just for my info: do you use this from babashka? Is this blocking for you and do you need a new release?

@malcolmsparks
Copy link
Author

@borkdude ah, in that case, I'll close this issue - it's just what I'm looking for.

Yes, I'm using this from babashka (via the Arch AUR package). I'm not blocked, I could work around this with a direct call out to clojure.java.shell for now.

@borkdude
Copy link
Collaborator

borkdude commented Mar 8, 2021

This is a new babashka binary with the change:

https://15545-201467090-gh.circle-artifacts.com/0/release/babashka-0.2.13-SNAPSHOT-linux-amd64.zip

Maybe you could test it out.

@borkdude
Copy link
Collaborator

borkdude commented Mar 8, 2021

Note to self: I wonder what the default should be for posting strings. Now I changed this from --data-raw to --data-binary... the tests pass, but I'm not entirely sure if this is the correct thing to do. Should check this before next bb release.

@malcolmsparks
Copy link
Author

--data-raw and --data-binary are equivalent except that --data-binary supports the @ character for sending files. For posting strings, the -d option (which is the same as --data-ascii) should suffice.

@malcolmsparks
Copy link
Author

I've tested the new binary on my system (I'll keep it in /usr/bin/bb and report any issues I find). For my file upload tests, it works perfectly, and the files are no longer 'corrupted'. Thanks very much!

@borkdude
Copy link
Collaborator

borkdude commented Mar 8, 2021

Actually --data-raw is similar to --data, not --data-binary. I think using that for the string? body makes most sense, so I'll revert it for that case. Thanks.

@borkdude
Copy link
Collaborator

borkdude commented Mar 9, 2021

@malcolmsparks babashka v0.2.13 released with this bugfix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants