From 395a3eed3d30f1a535fbd535dbc561c30759c4b0 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Mon, 13 Feb 2023 23:31:38 +0300 Subject: [PATCH] server: add server.SetHandlerOption helper Signed-off-by: Vasiliy Tolstov --- server/context.go | 10 ++++++++++ server/options.go | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/server/context.go b/server/context.go index 7bd9287f..2ab80425 100644 --- a/server/context.go +++ b/server/context.go @@ -42,3 +42,13 @@ func SetSubscriberOption(k, v interface{}) SubscriberOption { o.Context = context.WithValue(o.Context, k, v) } } + +// SetHandlerOption returns a function to setup a context with given value +func SetHandlerOption(k, v interface{}) HandlerOption { + return func(o *HandlerOptions) { + if o.Context == nil { + o.Context = context.Background() + } + o.Context = context.WithValue(o.Context, k, v) + } +} diff --git a/server/options.go b/server/options.go index 73a2ff4b..cf269772 100644 --- a/server/options.go +++ b/server/options.go @@ -322,7 +322,7 @@ type HandlerOption func(*HandlerOptions) type HandlerOptions struct { // Context holds external options Context context.Context - // Metadata for hondler + // Metadata for handler Metadata map[string]metadata.Metadata }