blitz-js / blitz-js/legacy-framework
RedirectError does not work in global middleware
- Dominant language
- JavaScript
- Stars
- 3
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
### What is the problem?
Throwing a RedirectError in global middleware will not result in any actual redirects.
### Paste all your error logs here:
```bash
18:52:27.220 ERROR Error while processing the request
RedirectError https://example.com
details:
{
name: 'RedirectError',
statusCode: 302,
url: 'https://example.com'
}
[RedirectError: https://example.com] {
statusCode: 302,
url: 'https://example.com'
}
events.js:352
throw er; // Unhandled 'error' event
^
Error [ERR_STREAM_WRITE_AFTER_END] [ERR_STREAM_WRITE_AFTER_END]: write after end
at writeAfterEnd (_http_outgoing.js:694:15)
at ServerResponse.end (_http_outgoing.js:815:7)
at ServerResponse.end (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/compiled/compression/index.js:1:4179)
at ServerResponse.apiRes.end (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/server/api-utils.js:83:25)
at sendError (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/server/api-utils.js:490:9)
at Object.apiResolver (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/server/api-utils.js:127:13)
at async DevServer.handleApiRequest (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/server/next-server.js:766:9)
at async Object.fn (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/server/next-server.js:657:37)
at async Router.execute (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/server/router.js:206:32)
at async DevServer.run (/home/david/mrb-docker-dev/www/mrb-orderpicker/node_modules/next/dist/server/next-server.js:834:29)
Emitted 'error' event on ServerResponse instance at:
at writeAfterEndNT (_http_outgoing.js:753:7)
at processTicksAndRejections (internal/process/task_queues.js:83:21) {
code: 'ERR_STREAM_WRITE_AFTER_END'
}
```
### Paste all relevant code snippets here:
```
PASTE_HERE (leave the ``` marks)
```
### What are detailed steps to reproduce this?
1. Throw a RedirectError inside global middleware.
### Run `blitz -v` and paste the output here:
```bash
Linux 5.4 | linux-x64 | Node: v14.17.3
blitz: 0.40.0 (global)
blitz: 0.41.1 (local)
Package manager: npm
System:
OS: Linux 5.4 Linux Mint 20.2 (Uma)
CPU: (12) x64 AMD Ryzen 5 5600X 6-Core Processor
Memory: 1.81 GB / 15.62 GB
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 14.17.3 - ~/.nvm/versions/node/v14.17.3/bin/node
Yarn: 1.22.11 - ~/.nvm/versions/node/v14.17.3/bin/yarn
npm: 7.24.0 - ~/.nvm/versions/node/v14.17.3/bin/npm
Watchman: Not Found
npmPackages:
@prisma/client: 3.1.1 => 3.1.1
blitz: 0.41.1 => 0.41.1
prisma: 3.1.1 => 3.1.1
react: 18.0.0-alpha-5ca4b0433-20211020 => 18.0.0-alpha-5ca4b0433-20211020
react-dom: 18.0.0-alpha-5ca4b0433-20211020 => 18.0.0-alpha-5ca4b0433-20211020
typescript: 4.4.3 => 4.4.3
```
### Please include below any other applicable logs and screenshots that show your problem:
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.