protected async Task WriteResponseHeadersAsync(IResponse httpRes, CallContext context) { var res = (GrpcResponse)httpRes; var nonSuccessStatus = res.StatusCode >= 300; if (!Feature.DisableResponseHeaders || nonSuccessStatus) { foreach (var header in Feature.IgnoreResponseHeaders) { res.Headers.Remove(header); } if (res.Headers.Count > 0 || nonSuccessStatus) { var headers = new global::Grpc.Core.Metadata(); if (nonSuccessStatus) { headers.Add(Keywords.HttpStatus, res.StatusCode.ToString()); } foreach (var entry in res.Headers) { headers.Add(entry.Key, entry.Value); } if (nonSuccessStatus) { var status = res.Dto.GetResponseStatus(); if (status != null) { headers.Add(Keywords.GrpcResponseStatus, GrpcMarshaller <ResponseStatus> .Instance.Serializer(status)); } var desc = status?.ErrorCode ?? res.StatusDescription ?? status?.Message ?? HttpStatus.GetStatusDescription(res.StatusCode); context.ServerCallContext.Status = feature.ToGrpcStatus?.Invoke(httpRes) ?? ToGrpcStatus(res.StatusCode, desc); } await context.ServerCallContext.WriteResponseHeadersAsync(headers); } } }
public void PopulateRequestFromHeaders(object request, global::Grpc.Core.Metadata headers) { if (headers.Count == 0) { return; } var props = TypeProperties.Get(request.GetType()); var to = new Dictionary <string, object>(); foreach (var entry in headers) { var key = entry.Key.IndexOf('.') >= 0 && ( entry.Key.StartsWith("query.") || entry.Key.StartsWith("form.") || entry.Key.StartsWith("cookie.") || entry.Key.StartsWith("header.")) ? entry.Key.RightPart('.') : entry.Key; if (!props.PropertyMap.TryGetValue(key, out var accessor)) { continue; } var propName = accessor.PropertyInfo.Name; to[propName] = !entry.Key.EndsWith("-bin") ? (object)entry.Value : entry.ValueBytes; } if (to.Count > 0) { to.PopulateInstance(request); } }
public virtual global::Grpc.Core.AsyncUnaryCall <global::Bond.Grpc.IMessage <Result> > fooAsync(Param request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { return(fooAsync(global::Bond.Grpc.Message.From(request), new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual global::Grpc.Core.AsyncUnaryCall <global::Bond.Grpc.IMessage <BasicTypes> > cqAsync(global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { var message = global::Bond.Grpc.Message.Void; return(cqAsync(message, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual global::Grpc.Core.AsyncUnaryCall <global::Bond.Grpc.IMessage <dummy> > foo44Async(dummy request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { var message = global::Bond.Grpc.Message.From(request); return(foo44Async(message, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual void foo15Async(global::tests2.OtherBasicTypes request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { var message = global::Bond.Grpc.Message.From(request); foo15Async(message, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken)); }
public virtual void foo12_implAsync(global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { var message = global::Bond.Grpc.Message.Void; foo12_implAsync(message, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken)); }
public virtual global::Grpc.Core.AsyncUnaryCall <global::Bond.Grpc.IMessage <AddOrUpdateEntityResponse> > AddModuleAsync(Module request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { var message = global::Bond.Grpc.Message.From(request); return(AddModuleAsync(message, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual void foo14Async(dummy request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { foo14Async(global::Bond.Grpc.Message.From(request), new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken)); }
public virtual global::Grpc.Core.AsyncUnaryCall <global::Bond.Grpc.IMessage <global::Bond.Void> > methodAsync(global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { return(methodAsync(global::Bond.Grpc.Message.Void, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual global::Grpc.Core.AsyncDuplexStreamingCall <global::Bond.Grpc.IMessage <T>, global::Bond.Grpc.IMessage <T> > DuplexStreamingAsync(global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { return(DuplexStreamingAsync(new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual global::Grpc.Core.AsyncServerStreamingCall <global::Bond.Grpc.IMessage <T> > ServerStreamingAsync(BasicTypes request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { return(ServerStreamingAsync(global::Bond.Grpc.Message.From(request), new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual global::Grpc.Core.AsyncClientStreamingCall <global::Bond.Grpc.IMessage <BasicTypes>, global::Bond.Grpc.IMessage <BasicTypes> > foo34Async(global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { return(foo34Async(new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual global::Grpc.Core.AsyncUnaryCall <global::Bond.Grpc.IMessage <global::Bond.Void> > ConsumesGeneric2Async(SomeBox <List <int> > request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { var message = global::Bond.Grpc.Message.From(request); return(ConsumesGeneric2Async(message, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }
public virtual global::Grpc.Core.AsyncUnaryCall <global::Bond.Grpc.IMessage <PermissionCheckResponse> > HasPermissionAsync(PermissionCheckRequest request, global::Grpc.Core.Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { var message = global::Bond.Grpc.Message.From(request); return(HasPermissionAsync(message, new global::Grpc.Core.CallOptions(headers, deadline, cancellationToken))); }