Ctrl K
ComunidadGuías…

values.go

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package aastro

import "context"

type contextKey uint8

const (
	contextKeyClientIP contextKey = iota
	contextKeyRequestID
	contextKeyRoute
	contextKeyFingerprint
)

func withClientIP(ctx context.Context, ip string) context.Context {
	return context.WithValue(ctx, contextKeyClientIP, ip)
}

func clientIPFromContext(ctx context.Context) string {
	ip, _ := ctx.Value(contextKeyClientIP).(string)
	return ip
}

func withRequestID(ctx context.Context, id string) context.Context {
	return context.WithValue(ctx, contextKeyRequestID, id)
}

func requestIDFromContext(ctx context.Context) string {
	id, _ := ctx.Value(contextKeyRequestID).(string)
	return id
}

func withRoute(ctx context.Context, route string) context.Context {
	return context.WithValue(ctx, contextKeyRoute, route)
}

func routeFromContext(ctx context.Context) string {
	route, _ := ctx.Value(contextKeyRoute).(string)
	return route
}

func withFingerprint(ctx context.Context, fingerprint string) context.Context {
	return context.WithValue(ctx, contextKeyFingerprint, fingerprint)
}

func fingerprintFromContext(ctx context.Context) string {
	fingerprint, _ := ctx.Value(contextKeyFingerprint).(string)
	return fingerprint
}