MCPcopy
hub / github.com/vitejs/vite / rewriteOriginHeader

Function rewriteOriginHeader

packages/vite/src/node/server/middlewares/proxy.ts:43–73  ·  view source on GitHub ↗
(
  proxyReq: http.ClientRequest,
  options: ProxyOptions,
  config: ResolvedConfig,
)

Source from the content-addressed store, hash-verified

41}
42
43const rewriteOriginHeader = (
44 proxyReq: http.ClientRequest,
45 options: ProxyOptions,
46 config: ResolvedConfig,
47) => {
48 // Browsers may send Origin headers even with same-origin
49 // requests. It is common for WebSocket servers to check the Origin
50 // header, so if rewriteWsOrigin is true we change the Origin to match
51 // the target URL.
52 if (options.rewriteWsOrigin) {
53 const { target } = options
54
55 if (proxyReq.headersSent) {
56 config.logger.warn(
57 colors.yellow(
58 `Unable to rewrite Origin header as headers are already sent.`,
59 ),
60 )
61 return
62 }
63
64 if (proxyReq.getHeader('origin') && target) {
65 const changedOrigin =
66 typeof target === 'object'
67 ? `${target.protocol ?? 'http:'}//${target.host}`
68 : target
69
70 proxyReq.setHeader('origin', changedOrigin)
71 }
72 }
73}
74
75export function proxyMiddleware(
76 httpServer: HttpServer | null,

Callers 1

proxyMiddlewareFunction · 0.85

Calls 1

warnMethod · 0.65

Tested by

no test coverage detected