go-zero icon indicating copy to clipboard operation
go-zero copied to clipboard

How can I set custom http headers in RPC service?

Open zebra-min opened this issue 1 year ago • 4 comments

In our project, we used gRpc-Gateway. But I find, I can't set http header in RPC response. What should we do? Thanks!

zebra-min avatar Nov 23 '24 11:11 zebra-min

grpc-gateway or go-zero gateway?

kevwan avatar Nov 24 '24 10:11 kevwan

I'm not sure. I learn it from this doc "https://go-zero.dev/en/docs/tutorials/gateway/grpc".

gateway.go main code follow:

import (
	"github.com/zeromicro/go-zero/core/conf"
	"github.com/zeromicro/go-zero/gateway"
	"github.com/zeromicro/go-zero/rest/httpx"
	"github.com/zeromicro/go-zero/zrpc"
	"google.golang.org/grpc/status"
)

func main() {
	flag.Parse()

	logx.DisableStat()

	var c config.Config
	conf.MustLoad(*configFile, &c)
	gw := gateway.MustNewServer(c.Gateway)
	sessionRpcClient := sessionservice.NewSessionService(zrpc.MustNewClient(c.Session))

	gw.Use(middleware.SessionMiddleware(sessionRpcClient))
	gw.Use(middleware.AuthMiddleware)

	defer gw.Stop()

	// 设置错误处理
	httpx.SetErrorHandlerCtx(grpcErrorHandlerCtx)
	fmt.Printf("Starting rpc server at %d...\n", c.Gateway.Port)
	gw.Start()
}

zebra-min avatar Nov 25 '24 01:11 zebra-min

It's need to pull a new request to append the http headers into context metadata.

kesonan avatar Nov 25 '24 09:11 kesonan

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar Nov 27 '25 02:11 github-actions[bot]