mock-server.mjs 849 B

123456789101112131415161718192021222324252627282930
  1. import http from 'node:http'
  2. const requestListener = (req, res) => {
  3. const endpoint = req.url
  4. switch (endpoint) {
  5. case '/file-with-content-disposition': {
  6. const fileName = `DALL·E IMG_9078 - 学中文 🤑`
  7. res.setHeader('Content-Disposition', `attachment; filename="ASCII-name.zip"; filename*=UTF-8''${encodeURIComponent(fileName)}`)
  8. res.setHeader('Content-Type', 'image/jpeg')
  9. res.setHeader('Content-Length', '86500')
  10. break
  11. }
  12. case '/file-no-headers':
  13. break
  14. default:
  15. res.writeHead(404).end('Unhandled request')
  16. }
  17. res.end()
  18. }
  19. export default function startMockServer (host, port) {
  20. const server = http.createServer(requestListener)
  21. server.listen(port, host, () => {
  22. console.log(`Server is running on http://${host}:${port}`)
  23. })
  24. }
  25. // startMockServer('localhost', 4678)