howood/imagereductor

View on GitHub
infrastructure/requestid/requestid.go

Summary

Maintainability
A
0 mins
Test Coverage
package requestid

import (
    "net/http"

    "github.com/howood/imagereductor/infrastructure/uuid"
)

type RequestContextKey string

// KeyRequestID is XRequestId key
const KeyRequestID = "X-Request-Id"

func generateRequestID() string {
    return uuid.GetUUID(uuid.SatoriUUID)
}

// GetRequestID returns XRequestId
func GetRequestID(r *http.Request) string {
    if r.Header.Get(KeyRequestID) != "" {
        return r.Header.Get(KeyRequestID)
    }
    return generateRequestID()
}

func GetRequestIDKey() RequestContextKey {
    return RequestContextKey(KeyRequestID)
}