/
githubmirror
/
gitness
Обзор
Документация
Войти
/
githubmirror
/
gitness
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
registry/request/context.go
67 строк
2 KB
Saksham Golechha
feat: [AH-2097]: store original URL in context before path rewriting (#4722)
14 ноя 2025, 14:50
14 ноя 2025, 14:50
3b0170a
Код
Авторство
О чём код?
// Copyright 2023 Harness, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package request import ( "context" "github.com/harness/gitness/registry/app/pkg" "github.com/rs/zerolog/log" ) type contextKey string const OriginalPathKey contextKey = "originalPath" const OriginalURLKey contextKey = "originalURL" const ArtifactInfoKey contextKey = "artifactInfo" // Functions for original PATH. func OriginalPathFrom(ctx context.Context) string { originalPath, ok := ctx.Value(OriginalPathKey).(string) if !ok { log.Ctx(ctx).Warn().Msg("Original path not found in context") } return originalPath } func WithOriginalPath(parent context.Context, originalPath string) context.Context { return context.WithValue(parent, OriginalPathKey, originalPath) } // Functions for original FULL URL. func OriginalURLFrom(ctx context.Context) string { originalURL, ok := ctx.Value(OriginalURLKey).(string) if !ok { log.Ctx(ctx).Warn().Msg("Original URL not found in context") } return originalURL } func WithOriginalURL(parent context.Context, originalURL string) context.Context { return context.WithValue(parent, OriginalURLKey, originalURL) } func ArtifactInfoFrom(ctx context.Context) pkg.PackageArtifactInfo { baseInfo, ok := ctx.Value(ArtifactInfoKey).(pkg.PackageArtifactInfo) if !ok { log.Ctx(ctx).Warn().Msg("Failed to get artifact info") } return baseInfo } func WithArtifactInfo(parent context.Context, artifactInfo pkg.PackageArtifactInfo) context.Context { return context.WithValue(parent, ArtifactInfoKey, artifactInfo) }