private void CreateWriter(HttpRequestMessage message) { RequestGrpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); ClientStreamWriter = new HttpContentClientStreamWriter <TRequest, TResponse>(this); message.Content = new PushStreamContent <TRequest, TResponse>(ClientStreamWriter, GrpcProtocolConstants.GrpcContentTypeHeaderValue); }
private void SetMessageContent(TRequest request, HttpRequestMessage message) { message.Content = new PushUnaryContent <TRequest, TResponse>( request, this, GrpcProtocolHelpers.GetRequestEncoding(message.Headers), GrpcProtocolConstants.GrpcContentTypeHeaderValue); }
public HttpContentClientStreamWriter( GrpcCall <TRequest, TResponse> call, HttpRequestMessage message) { _call = call; WriteStreamTcs = new TaskCompletionSource <Stream>(TaskCreationOptions.RunContinuationsAsynchronously); CompleteTcs = new TaskCompletionSource <bool>(TaskCreationOptions.RunContinuationsAsynchronously); _writeLock = new object(); WriteOptions = _call.Options.WriteOptions; _grpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); }
public HttpContentClientStreamWriter( GrpcCall <TRequest, TResponse> call, HttpRequestMessage message, Task <Stream> writeStreamTask, TaskCompletionSource <bool> completeTcs) { _call = call; _writeStreamTask = writeStreamTask; _completeTcs = completeTcs; _writeLock = new object(); WriteOptions = _call.Options.WriteOptions; _grpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); }
private void SetMessageContent(TRequest request, HttpRequestMessage message) { message.Content = new PushStreamContent( (stream) => { var grpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); return(stream.WriteMessage <TRequest>( Logger, request, Method.RequestMarshaller.Serializer, grpcEncoding, Options.CancellationToken)); }, GrpcProtocolConstants.GrpcContentTypeHeaderValue); }
private void SetMessageContent(TRequest request, HttpRequestMessage message) { RequestGrpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); if (!Channel.IsWinHttp) { message.Content = new PushUnaryContent <TRequest, TResponse>( request, this, GrpcProtocolConstants.GrpcContentTypeHeaderValue); } else { // WinHttp doesn't support streaming request data so a length needs to be specified. message.Content = new LengthUnaryContent <TRequest, TResponse>( request, this, GrpcProtocolConstants.GrpcContentTypeHeaderValue); } }
private void SetMessageContent(TRequest request, HttpRequestMessage message) { message.Content = new PushStreamContent( (stream) => { var grpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); var writeMessageTask = stream.WriteMessageAsync <TRequest>( Logger, request, Method.RequestMarshaller.ContextualSerializer, grpcEncoding, CallInvoker.SendMaxMessageSize, Options.CancellationToken); if (writeMessageTask.IsCompletedSuccessfully) { GrpcEventSource.Log.MessageSent(); return(Task.CompletedTask); } return(WriteMessageCore(writeMessageTask)); }, GrpcProtocolConstants.GrpcContentTypeHeaderValue);
private void SetWriter(HttpRequestMessage message, HttpContentClientStreamWriter <TRequest, TResponse> clientStreamWriter, HttpContent content) { RequestGrpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); ClientStreamWriter = clientStreamWriter; message.Content = content; }
private void SetMessageContent(HttpContent content, HttpRequestMessage message) { RequestGrpcEncoding = GrpcProtocolHelpers.GetRequestEncoding(message.Headers); message.Content = content; }