( id: string, server: ViteDevServer, res: ServerResponse, )
| 342 | } |
| 343 | |
| 344 | export function respondWithAccessDenied( |
| 345 | id: string, |
| 346 | server: ViteDevServer, |
| 347 | res: ServerResponse, |
| 348 | ): void { |
| 349 | const urlMessage = `The request id "${id}" is outside of Vite serving allow list.` |
| 350 | const hintMessage = ` |
| 351 | ${server.config.server.fs.allow.map((i) => `- ${i}`).join('\n')} |
| 352 | |
| 353 | Refer to docs https://vite.dev/config/server-options.html#server-fs-allow for configurations and more details.` |
| 354 | |
| 355 | server.config.logger.error(urlMessage) |
| 356 | server.config.logger.warnOnce(hintMessage + '\n') |
| 357 | res.statusCode = 403 |
| 358 | res.write(renderRestrictedErrorHTML(urlMessage + '\n' + hintMessage)) |
| 359 | res.end() |
| 360 | } |
| 361 | |
| 362 | function renderRestrictedErrorHTML(msg: string): string { |
| 363 | // to have syntax highlighting and autocompletion in IDE |
no test coverage detected