You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This appears to be an issue in version 108.0.3 with .Net 7.
In AddPostParameters when Content is of type MultiPartFormDataContent it attempts to add a new StringContent(), but the postParameter.ContentType is null or empty. Had to revert back to version 106.15.0 to get it working as a quick fix. I think, but haven't confirmed that 108.0.3 was not an issue with .net 6. It's possible I may be missing something, but the only change to our production code was an update of .net and RestSharp.
Based on a simple test it seems to be erroring out around line 158 of RestRequest.cs in AddPostParameters on newStringContent() which is:
void AddPostParameters(ParametersCollection? postParameters) {
if (postParameters.IsEmpty()) return;
if (Content is MultipartFormDataContent mpContent) {
// we got the multipart form already instantiated, just add parameters to it
foreach (var postParameter in postParameters!) {
var parameterName = postParameter.Name!;
mpContent.Add(
new StringContent(postParameter.Value!.ToString()!, _client.Options.Encoding, postParameter.ContentType),
_request.MultipartFormQuoteParameters ? $"\"{parameterName}\"" : parameterName
);
}
}
else { ....
The parameter types in my case were GetOrPostParameter and UrlSegmentParameter, both of which do not set the ContentType, which appear to not be optional for new StringContent() (ContentType can now only be set in the constructor) There are no issues when Content is not MultipartFormDataContent.
System.ArgumentException : The value cannot be null or empty. (Parameter 'mediaType')
at System.Net.Http.Headers.MediaTypeHeaderValue.CheckMediaTypeFormat(String mediaType, String parameterName)
at System.Net.Http.StringContent..ctor(String content, Encoding encoding, String mediaType)
at RestSharp.RequestContent.AddPostParameters(ParametersCollection postParameters)
at RestSharp.RequestContent.BuildContent()
at RestSharp.RestClient.ExecuteInternal(RestRequest request, CancellationToken cancellationToken)
at RestSharp.RestClient.ExecuteAsync(RestRequest request, CancellationToken cancellationToken)
at RestSharp.AsyncHelpers.<>c__DisplayClass1_01.<<RunSync>b__0>d.MoveNext() --- End of stack trace from previous location --- at RestSharp.AsyncHelpers.CustomSynchronizationContext.<Run>g__PostCallback|7_0(Object _) at RestSharp.AsyncHelpers.CustomSynchronizationContext.Run() at RestSharp.AsyncHelpers.RunSync(Func1 task)
at RestSharp.AsyncHelpers.RunSync[T](Func`1 task)
at RestSharp.RestClient.Execute(RestRequest request, CancellationToken cancellationToken)
at Velocity.Common.Test.Utility.Email_Test.RestSharp_Attachment_Test() in C:\dbs\velocity\Blocks\Velocity\Common.Test\Utility\Email_Test.cs:line 66
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
The text was updated successfully, but these errors were encountered:
This appears to be an issue in version 108.0.3 with .Net 7.
In AddPostParameters when Content is of type MultiPartFormDataContent it attempts to add a new StringContent(), but the postParameter.ContentType is null or empty. Had to revert back to version 106.15.0 to get it working as a quick fix. I think, but haven't confirmed that 108.0.3 was not an issue with .net 6. It's possible I may be missing something, but the only change to our production code was an update of .net and RestSharp.
Based on a simple test it seems to be erroring out around line 158 of RestRequest.cs in AddPostParameters on newStringContent() which is:
The parameter types in my case were GetOrPostParameter and UrlSegmentParameter, both of which do not set the ContentType, which appear to not be optional for new StringContent() (ContentType can now only be set in the constructor) There are no issues when Content is not MultipartFormDataContent.
Sample test code:
Error that is thrown:
The text was updated successfully, but these errors were encountered: