gitcome opened a new issue, #7973:
URL: https://github.com/apache/apisix/issues/7973

   ### Description
   
   my call chain like this:
   ```
                                                              1.[RequestFilter 
return] --?--> GrpcClient (report closed the stream without sending trailers)
   GrpcClient --grpc--> Apisix ----> Go-plugin-runner(ext-plugin-post-req)  
                                                              2.[RequestFilter 
continue] ----> GrpcServer(upstream) ----> Apisix ----> GrpcClient(ok)
   
   ```
   
   in Go-plugin-runner, func RequestFilter like this:
   ```
   func (p *Say) RequestFilter(conf interface{}, w http.ResponseWriter, r 
pkgHTTP.Request) {
        w.Header().Set("Content-Type", r.Header().Get("Content-Type"))
        num := rand.Int()
        if num%2 == 1 {
                w.WriteHeader(http.StatusOK)
                w.Header().Set("mykey", "test")
                w.Header().Set("Grpc-Status", "0")
                w.Header().Set("Grpc-Message", "ok")
                w.Header().Set("Grpc-Status-Details-Bin", "")
                return   // here retrun to GrpcClient, above chain 1, client 
report "server closed the stream without sending trailers"
        }
           return // here continue to upstream GrpcServer, then return to 
GrpcClient,  above chain 2, ok
   }
   ```
   
   grpc-transcode not suitable for our scene。Please have a look and give me 
help, thanks a lot!
   
   ### Environment
   
   os: win10
   apisix: apache/apisix:2.15.0-alpine (use 
apisix-docker\example\docker-compose.yml docker-compose up)
   plugin-runner: apache/apisix-go-plugin-runner v0.4.0


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to