Go API Documentation

github.com/caddyserver/caddy/v2/internal/metrics

No package summary is available.

Package

Files: 1. Third party imports: 0. Imports from organisation: 0. Tests: 0. Benchmarks: 0.

Vars

Only support the list of "regular" HTTP methods, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

var methodMap = map[string]string{
	"GET":	http.MethodGet, "get": http.MethodGet,
	"HEAD":	http.MethodHead, "head": http.MethodHead,
	"PUT":	http.MethodPut, "put": http.MethodPut,
	"POST":	http.MethodPost, "post": http.MethodPost,
	"DELETE":	http.MethodDelete, "delete": http.MethodDelete,
	"CONNECT":	http.MethodConnect, "connect": http.MethodConnect,
	"OPTIONS":	http.MethodOptions, "options": http.MethodOptions,
	"TRACE":	http.MethodTrace, "trace": http.MethodTrace,
	"PATCH":	http.MethodPatch, "patch": http.MethodPatch,
}

Functions

func SanitizeCode

func SanitizeCode(s int) string {
	switch s {
	case 0, 200:
		return "200"
	default:
		return strconv.Itoa(s)
	}
}

Cognitive complexity: 3, Cyclomatic complexity: 3

Uses: strconv.Itoa.

func SanitizeMethod

SanitizeMethod sanitizes the method for use as a metric label. This helps prevent high cardinality on the method label. The name is always upper case.

func SanitizeMethod(m string) string {
	if m, ok := methodMap[m]; ok {
		return m
	}

	return "OTHER"
}

Cognitive complexity: 2, Cyclomatic complexity: 2


Tests

Files: 1. Third party imports: 0. Imports from organisation: 0. Tests: 1. Benchmarks: 0.

Test functions

TestSanitizeMethod

References: strings.Repeat.