25 lines
533 B
Go
25 lines
533 B
Go
|
package http
|
||
|
|
||
|
import "context"
|
||
|
|
||
|
type rspCodeKey struct{}
|
||
|
type rspCodeVal struct {
|
||
|
code int
|
||
|
}
|
||
|
|
||
|
// SetRspCode saves response code in context, must be used by handler to specify http code
|
||
|
func SetRspCode(ctx context.Context, code int) {
|
||
|
if rsp, ok := ctx.Value(rspCodeKey{}).(*rspCodeVal); ok {
|
||
|
rsp.code = code
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// GetRspCode used internally by generated http server handler
|
||
|
func GetRspCode(ctx context.Context) int {
|
||
|
var code int
|
||
|
if rsp, ok := ctx.Value(rspCodeKey{}).(*rspCodeVal); ok {
|
||
|
code = rsp.code
|
||
|
}
|
||
|
return code
|
||
|
}
|