All files / src/adapters/vite dev-server-middleware.ts

0% Statements 0/6
0% Branches 0/6
0% Functions 0/3
0% Lines 0/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44                                                                                       
import { createRequestHandler } from '../../core/server/request-handler.js';
import { createSocketHandler } from '../../core/socket/socket-handler.js';
import { SOCKET_BASE_PATH } from '../../shared/constants.js';
import type { VitekApp } from '../../core/shared/vitek-app.js';
import type { DevServerState } from './dev-server-state.js';
import type { ViteDevServerOptions } from './dev-server-state.js';
 
export function createApiMiddleware(
  state: DevServerState,
  options: ViteDevServerOptions,
  shared: VitekApp
) {
  return createRequestHandler({
    routes: state.routes,
    middlewares: state.middlewares,
    beforeApiRequest: options.beforeApiRequest,
    cors: options.cors,
    trustProxy: options.trustProxy,
    maxBodySize: options.maxBodySize,
    onError: options.onError,
    logger: options.logger,
    shared,
  });
}
 
export function createSocketSetup(
  state: DevServerState,
  options: ViteDevServerOptions,
  shared: VitekApp
) {
  return (httpServer: { on(event: 'upgrade', listener: (req: import('http').IncomingMessage, socket: import('stream').Duplex, head: Buffer) => void): void }) => {
    if (options.sockets !== false && state.sockets.length > 0) {
      const socketBasePath = options.socketBasePath ?? SOCKET_BASE_PATH;
      const handler = createSocketHandler({
        sockets: state.sockets,
        socketBasePath,
        shared,
        logger: options.logger,
      });
      httpServer.on('upgrade', handler);
    }
  };
}