Files
paralus/pkg/gateway/annotator.go
nirav-rafay c66bdc25cd restructure rcloud-base as a single base controller (#37)
* restructure rcloud-base as a single base controller
* updated master.rest
* moved sentry from internal to pkg as it is used by relay
* removing unused rpc and it's dependencies
* Fix usermgmt tests
* Don't redefine variables in rest file
Co-authored-by: Abin Simon <abin.simon@rafay.co>
2022-03-03 17:59:06 +05:30

41 lines
1.1 KiB
Go

package gateway
import (
"context"
"net/http"
"google.golang.org/grpc/metadata"
)
// Rafay Gateway annotations
const (
GatewayRequest = "x-gateway-request"
GatewayURL = "x-gateway-url"
GatewaySessionCookie = "ory_kratos_session"
GatewayAPIKey = "X-Session-Token"
GatewayMethod = "x-gateway-method"
UserAgent = "x-gateway-user-agent"
Host = "x-gateway-host"
RemoteAddr = "x-gateway-remote-addr"
)
// rafayGatewayAnnotator adds rafay gateway specific annotations
var rafayGatewayAnnotator = func(ctx context.Context, r *http.Request) metadata.MD {
return metadata.New(map[string]string{
GatewayRequest: "true",
GatewayURL: r.URL.EscapedPath(),
// GatewaySessionCookie: func() string {
// sid, err := r.Cookie(GatewaySessionCookie)
// if err != nil {
// return ""
// }
// return sid.Value
// }(),
GatewayAPIKey: r.Header.Get(GatewayAPIKey),
GatewayMethod: r.Method,
// UserAgent: r.UserAgent(),
// Host: r.Host,
// RemoteAddr: r.RemoteAddr,
})
}