func applyHandlerOptions()

in metrics/handler_options.go [36:50]


func applyHandlerOptions(opts []HandlerOption) (handlerConfig, []promhttp.Option) {
	config := handlerConfig{}
	for _, v := range opts {
		v(&config)
	}

	var promOpts []promhttp.Option

	// Add prometheus options for labels from context
	for _, v := range config.labelValuesFromContext {
		promOpts = append(promOpts, promhttp.WithLabelFromCtx(v.name, promhttp.LabelValueFromCtx(v.valueFn)))
	}

	return config, promOpts
}