corsOriginResolver returns a dynamic origin for context-aware mode. When ctxRegistry has an entry for X-Forwarded-Host, returns (origin, true).
(ctxRegistry *hostctx.Registry)
| 747 | // corsOriginResolver returns a dynamic origin for context-aware mode. |
| 748 | // When ctxRegistry has an entry for X-Forwarded-Host, returns (origin, true). |
| 749 | func corsOriginResolver(ctxRegistry *hostctx.Registry) middleware.OriginResolver { |
| 750 | return func(r *http.Request) (string, bool) { |
| 751 | if ctxRegistry == nil { |
| 752 | return "", false |
| 753 | } |
| 754 | host := r.Header.Get("X-Forwarded-Host") |
| 755 | if host == "" { |
| 756 | return "", false |
| 757 | } |
| 758 | if ctxRegistry.GetByHost(host) == nil { |
| 759 | return "", false |
| 760 | } |
| 761 | return middleware.EffectiveOrigin(r, host), true |
| 762 | } |
| 763 | } |