Apologies for the late reply. > Is there have any method to send request header first without sending payload?
You can do so by calling grpc.SendHeader <https://pkg.go.dev/google.golang.org/grpc#SendHeader>, or for streaming handlers by calling stream.SendHeader <https://pkg.go.dev/google.golang.org/grpc#ServerStream> The grpc.Header <https://pkg.go.dev/google.golang.org/grpc#Header> call option only works for unary RPCs and the header metadata will be available only after the RPC completes. For streaming RPCs, the client can call the stream.Header <https://pkg.go.dev/google.golang.org/grpc#ClientStream> when they know that header metadata will be available, or after the first call to stream.RecvMsg has returned. Hope this helps. If not, please feel free to post a question on our GitHub repo <https://github.com/grpc/grpc-go>. On Tuesday, May 31, 2022 at 5:35:48 PM UTC-7 Hagenauer Anja wrote: > DIRECT SENDER IS HERE LETS DEAL. > > > > MT103/202 DIRECT WIRE TRANSFER > PAYPAL TRANSFER > CASHAPP TRANSFER > ZELLE TRANSFER > TRANSFER WISE > WESTERN UNION TRANSFER > BITCOIN FLASHING > BANK ACCOUNT LOADING/FLASHING > IBAN TO IBAN TRANSFER > MONEYGRAM TRANSFER > IPIP/DTC > SLBC PROVIDER > CREDIT CARD TOP UP > DUMPS/ PINS > SEPA TRANSFER > WIRE TRANSFER > BITCOIN TOP UP > GLOBALPAY INC US > SKRILL USA > > Thanks. > > For more information Dm on WhatsApp: > > +491512 9738176 <+49%201512%209738176> > > On Sunday, 10 April 2022 at 20:54:08 UTC-7 [email protected] wrote: > >> Sorry for pushing up manually, >> >> but I really want to know if there's method to do it like in Python. >> >> Yes I can do it by wrapping a `ClientStream`, however it create a new >> instance in every call that I needs to use a pointer or somehow to manage >> together with my `ClientInterceptor`, which seems a bit dirty >> >> thanks. >> >> 温明浩 在 2022年4月6日 星期三上午11:03:45 [UTC+8] 的信中寫道: >> >>> Hi amits, >>> >>> Sorry for the late replay. >>> I have write a minimal example to express my question. >>> https://gist.github.com/codingbaobao/f89291866024a97c1b476a682f82c029 >>> >>> The main purpose is trying to manage request&response header in >>> interceptor, in order to share come context or status. >>> I have try metadata.FromIncomingContext() and seems empty. >>> Is there have any method to send request header first without sending >>> payload? >>> Since this concept is documented in here: >>> https://grpc.io/docs/what-is-grpc/core-concepts/#unary-rpc >>> Or, any method that can let me access response header without wrapping a >>> ClientStream? >>> thanks! >>> [email protected] 在 2022年4月1日 星期五上午5:49:54 [UTC+8] 的信中寫道: >>> >>>> Have you tried the metadata.FromIncomingContext() function? >>>> >>>> You haven't shared your example code - i think that will be useful for >>>> others to help you. >>>> >>>> >>>> >>>> >>>> >>>> On Thursday, March 31, 2022 at 3:44:02 PM UTC+11 [email protected] >>>> wrote: >>>> >>>>> Hi all, >>>>> >>>>> Currently I have a rpc like this: >>>>> *rpc SayHello (HelloRequest) returns (stream HelloReply) {}* >>>>> >>>>> Now I add a StreamClientInterceptor to catch response initial metadata, >>>>> but it block forever, and server shows that no request get, at least >>>>> not into the rpc function. >>>>> >>>>> The interceptor is similar to this example: >>>>> >>>>> https://github.com/grpc/grpc-go/blob/master/examples/features/interceptor/client/main.go#L90 >>>>> and I just add a line under L107 : >>>>> *responseMeta, err := s.Header() //<-- block here* >>>>> >>>>> Im sure that I can done in Python code, which is implement similar to: >>>>> >>>>> https://github.com/grpc/grpc/blob/master/examples/python/interceptors/headers/generic_client_interceptor.py#L33 >>>>> and adds code under L37: >>>>> *print(response_it.initial_metadata())* >>>>> >>>>> Can anyone tell me what is wrong of my Golang code? >>>>> Actually I can get header by wrapping grpc.ClientStream and received >>>>> in RecvMsg() >>>>> and I observed that I can only get header after SendMsg, but it >>>>> doesn't make sense :( >>>>> >>>> -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/815d9414-1d6d-4428-96b8-5a74c0252dben%40googlegroups.com.
