Open brotherko opened 6 months ago
Hello @brotherko, thanks for reporting this issue. The CLI supports using response files to get around argument limits in shells. You can create a text file (e.g. args.rsp), enter each arg separated by spaces, then use mgc users send-mail post @args.rsp
.
The syntax rules for response files are defined in the page linked above.
Let me know if this information helps with your issue.
Hi @calebkiage Thanks! I'm wondering if this is a well known pattern for a .NET application to support syntax like this by default? I think it might be helpful to put it in the README for anyone who didn't work on a .NET application before(like myself)
However, still, I had a hard time crafting a JSON string that works.
This is what I've tried (I know it's not a valid request for the send-mail api. I just want to see if it parses the string properly)
--user-id
1234567
--body
"{\"name\":\"test\"\}"
This is what I got:
Unrecognized command or argument 'name\:\test\\}'.
Hello @brotherko, this is a limitation of the commandline parser we use currently. It doesn't support escaping quotes very well. See https://github.com/dotnet/command-line-api/issues/1755 and https://github.com/dotnet/command-line-api/issues/1758
We might need to customize the response file parsing logic like the .NET team did for the dotnet cli (https://github.com/dotnet/runtime/pull/76271)
Understood so I assume there is no work around for this issue? Would it be on the road map anytime soon?
Hi @brotherko, for now there's no workaround without a code change. Would you be willing to contribute code for this? We accept community contributions, and it would be the fastest way to get this change out. I'm happy to guide you through the process.
There is a limit in linux that only allow certain amount of bytes in the argument of a single command I'm not sure if this is an issue with my specific my environment but a 200KB attachment could break this limit
To reproduce
contentBytes
then run itFix Allow user to supply the their
--body
payload in a separate file like what CURL did? see@filename
in the below doc https://everything.curl.dev/http/post/simple.html