Skip to content

Commit

Permalink
Set content if there is one (#4160)
Browse files Browse the repository at this point in the history
Contributes to #3966
  • Loading branch information
m-nash authored Aug 13, 2024
1 parent 81f8977 commit 5cdf871
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,19 @@ .. AppendPathParameters(uri, operation, paramMap),
.. AppendQueryParameters(uri, operation, paramMap),
request.Uri().Assign(uri.ToUri()).Terminate(),
.. AppendHeaderParameters(request, operation, paramMap),
.. GetSetContent(request, signature.Parameters),
message.Apply(options).Terminate(),
Return(message)
]),
this);
}

private IReadOnlyList<MethodBodyStatement> GetSetContent(ScopedApi<PipelineRequest> request, IReadOnlyList<ParameterProvider> parameters)
{
var contentParam = parameters.FirstOrDefault(p => ReferenceEquals(p, ScmKnownParameters.BinaryContent));
return contentParam is null ? [] : [request.SetContent(contentParam)];
}

private PropertyProvider GetClassifier(InputOperation operation)
{
if (operation.HttpMethod == HttpMethod.Head.ToString())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,8 @@ public static MethodBodyStatement SetMethod(this ScopedApi<PipelineRequest> pipe

public static MethodBodyStatement SetHeaderValue(this ScopedApi<PipelineRequest> pipelineRequest, string name, ValueExpression value)
=> pipelineRequest.Property(nameof(PipelineRequest.Headers)).Invoke(nameof(PipelineRequestHeaders.Set), Literal(name), value).Terminate();

public static MethodBodyStatement SetContent(this ScopedApi<PipelineRequest> pipelineRequest, ValueExpression content)
=> pipelineRequest.Property(nameof(PipelineRequest.Content)).Assign(content).Terminate();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ internal PipelineMessage CreateHelloAgainRequest(string p1, string p2, BinaryCon
request.Headers.Set("p1", p1);
request.Headers.Set("Content-Type", "text/plain");
request.Headers.Set("Accept", "application/json");
request.Content = content;
message.Apply(options);
return message;
}
Expand All @@ -74,6 +75,7 @@ internal PipelineMessage CreateNoContentTypeRequest(string p1, string p2, Binary
request.Headers.Set("p1", p1);
request.Headers.Set("Content-Type", "application/json");
request.Headers.Set("Accept", "application/json");
request.Content = content;
message.Apply(options);
return message;
}
Expand Down Expand Up @@ -105,6 +107,7 @@ internal PipelineMessage CreateCreateLiteralRequest(BinaryContent content, Reque
request.Uri = uri.ToUri();
request.Headers.Set("Content-Type", "application/json");
request.Headers.Set("Accept", "application/json");
request.Content = content;
message.Apply(options);
return message;
}
Expand Down Expand Up @@ -170,6 +173,7 @@ internal PipelineMessage CreatePatchActionRequest(BinaryContent content, Request
request.Uri = uri.ToUri();
request.Headers.Set("Content-Type", "application/json");
request.Headers.Set("Accept", "application/json");
request.Content = content;
message.Apply(options);
return message;
}
Expand Down Expand Up @@ -279,6 +283,7 @@ internal PipelineMessage CreateInternalProtocolRequest(BinaryContent content, Re
request.Uri = uri.ToUri();
request.Headers.Set("Content-Type", "application/json");
request.Headers.Set("Accept", "application/json");
request.Content = content;
message.Apply(options);
return message;
}
Expand Down

0 comments on commit 5cdf871

Please sign in to comment.