MCPcopy Create free account
hub / github.com/langgenius/dify / createProxyRequestHeaders

Function createProxyRequestHeaders

packages/dev-proxy/src/server.ts:96–132  ·  view source on GitHub ↗
(
  request: Request,
  targetUrl: URL,
  cookieRewrite: CookieRewriteOptions | false | undefined,
)

Source from the content-addressed store, hash-verified

94}
95
96const createProxyRequestHeaders = (
97 request: Request,
98 targetUrl: URL,
99 cookieRewrite: CookieRewriteOptions | false | undefined,
100) => {
101 const headers = new Headers(request.headers)
102 headers.delete('host')
103 headers.set('accept-encoding', UPSTREAM_ACCEPT_ENCODING)
104
105 if (headers.has('origin'))
106 headers.set('origin', targetUrl.origin)
107
108 if (cookieRewrite) {
109 const originalCookieHeader = headers.get('cookie') || undefined
110 const localScopeKey = resolveCookieRewriteLocalScopeKey(cookieRewrite, targetUrl)
111 const rewrittenCookieHeader = rewriteCookieHeaderForUpstream(headers.get('cookie') || undefined, {
112 ...cookieRewrite,
113 localScopeKey,
114 useHostPrefix: targetUrl.protocol === 'https:',
115 })
116 if (rewrittenCookieHeader)
117 headers.set('cookie', rewrittenCookieHeader)
118 else
119 headers.delete('cookie')
120
121 if (localScopeKey && cookieRewrite.csrfHeader) {
122 const scopedCsrfCookieName = toScopedLocalCookieName(cookieRewrite.csrfHeader.cookieName, localScopeKey)
123 const scopedCsrfToken = getCookieHeaderValue(originalCookieHeader, scopedCsrfCookieName)
124 if (scopedCsrfToken)
125 headers.set(cookieRewrite.csrfHeader.headerName, scopedCsrfToken)
126 else
127 headers.delete(cookieRewrite.csrfHeader.headerName)
128 }
129 }
130
131 return headers
132}
133
134const getSetCookieHeaders = (headers: Headers) => {
135 const headersWithGetSetCookie = headers as Headers & { getSetCookie?: () => string[] }

Callers 1

proxyRequestFunction · 0.85

Calls 8

toScopedLocalCookieNameFunction · 0.90
getCookieHeaderValueFunction · 0.90
deleteMethod · 0.45
setMethod · 0.45
hasMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected