my-apps/charts/common/templates/lib/traefik/middlewares/_pluginRewriteResponseHeaders.tpl
2025-08-24 00:09:37 +03:00

41 lines
1.6 KiB
Smarty

{{- define "tc.v1.common.class.traefik.middleware.pluginRewriteResponseHeaders" -}}
{{- $objectData := .objectData -}}
{{- $rootCtx := .rootCtx -}}
{{- $mw := $objectData.data -}}
{{/* This has to match with the name of the plugin given on the traefik CLI */}}
{{- $mwName := "rewriteResponseHeaders" -}}
{{- if $mw.pluginName -}}
{{- $mwName = $mw.pluginName -}}
{{- end -}}
{{- if not $mw.rewrites -}}
{{- fail "Middleware (rewrite-response-headers) - Expected [rewrites] to be set" -}}
{{- end }}
{{- if not (kindIs "slice" $mw.rewrites) -}}
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [rewrites] to be a list, but got [%s]" (kindOf $mw.rewrites)) -}}
{{- end }}
{{- range $index, $config := $mw.rewrites -}}
{{- if not $config.header -}}
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [header] to be set for rewrite [%v]" $index) -}}
{{- end -}}
{{- if not $config.regex -}}
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [regex] to be set for rewrite [%v]" $index) -}}
{{- end -}}
{{- if not $config.replacement -}}
{{- fail (printf "Middleware (rewrite-response-headers) - Expected [replacement] to be set for rewrite [%v]" $index) -}}
{{- end -}}
{{- end }}
plugin:
{{ $mwName }}:
rewrites:
{{- range $index, $rewriteResponseHeader := $mw.rewrites }}
- header: {{ $rewriteResponseHeader.header }}
regex: {{ $rewriteResponseHeader.regex | quote }}
replacement: {{ $rewriteResponseHeader.replacement | quote }}
{{- end }}
{{- end -}}