/// <summary> /// Creates a new instance of <see cref="GrpcWebHandler"/>. /// </summary> /// <param name="mode">The gRPC-Web mode to use when making gRPC-Web calls.</param> /// <param name="httpVersion">The HTTP version to used when making gRPC-Web calls.</param> /// <param name="innerHandler">The inner handler which is responsible for processing the HTTP response messages.</param> public GrpcWebHandler(GrpcWebMode mode, Version httpVersion, HttpMessageHandler innerHandler) : base(innerHandler) { if (httpVersion == null) { throw new ArgumentNullException(nameof(httpVersion)); } _mode = mode; _httpVersion = httpVersion; }
/// <summary> /// Creates a new instance of <see cref="GrpcWebHandler"/>. /// </summary> /// <param name="mode">The gRPC-Web mode to use when making gRPC-Web calls.</param> /// <param name="httpVersion">The HTTP version to used when making gRPC-Web calls.</param> public GrpcWebHandler(GrpcWebMode mode, Version httpVersion) { if (httpVersion == null) { throw new ArgumentNullException(nameof(httpVersion)); } _mode = mode; _httpVersion = httpVersion; }
public GrpcWebRequestContent(HttpContent inner, GrpcWebMode mode) { _inner = inner; _mode = mode; foreach (var header in inner.Headers) { Headers.TryAddWithoutValidation(header.Key, header.Value); } Headers.ContentType = (mode == GrpcWebMode.GrpcWebText) ? GrpcWebProtocolConstants.GrpcWebTextHeader : GrpcWebProtocolConstants.GrpcWebHeader; }
public GrpcWebResponseContent(HttpContent inner, GrpcWebMode mode, HttpHeaders responseTrailers) { _inner = inner; _mode = mode; _responseTrailers = responseTrailers; foreach (var header in inner.Headers) { Headers.TryAddWithoutValidation(header.Key, header.Value); } Headers.ContentType = GrpcWebProtocolConstants.GrpcHeader; }
private static bool IsMatchingResponseContentType(GrpcWebMode mode, string?contentType) { if (mode == Web.GrpcWebMode.GrpcWeb) { return(CommonGrpcProtocolHelpers.IsContentType(GrpcWebProtocolConstants.GrpcWebContentType, contentType)); } if (mode == Web.GrpcWebMode.GrpcWebText) { return(CommonGrpcProtocolHelpers.IsContentType(GrpcWebProtocolConstants.GrpcWebTextContentType, contentType)); } return(false); }
public static ClientCallsFactory ForAspNetHost(GrpcWebMode mode) { Func <ChannelBase> channelFactory = () => { var options = new GrpcChannelOptions { DisposeHttpClient = true, HttpHandler = new GrpcWebHandler(mode, new HttpClientHandler()) { HttpVersion = System.Net.HttpVersion.Version11 } }; return(GrpcChannel.ForAddress(Hosts.ServerAspNetHostHttp1, options)); }; return(new ClientCallsFactory(channelFactory)); }
/// <summary> /// Creates a new instance of <see cref="GrpcWebHandler"/>. /// </summary> /// <param name="mode">The gRPC-Web mode to use when making gRPC-Web calls.</param> /// <param name="innerHandler">The inner handler which is responsible for processing the HTTP response messages.</param> public GrpcWebHandler(GrpcWebMode mode, HttpMessageHandler innerHandler) : base(innerHandler) { GrpcWebMode = mode; }
/// <summary> /// Creates a new instance of <see cref="GrpcWebHandler"/>. /// </summary> /// <param name="mode">The gRPC-Web mode to use when making gRPC-Web calls.</param> public GrpcWebHandler(GrpcWebMode mode) { GrpcWebMode = mode; }