Skip to content

Commit 6e5e57e

Browse files
authored
Upgrade srvx (#776)
1 parent d9b11ba commit 6e5e57e

File tree

6 files changed

+21
-13
lines changed

6 files changed

+21
-13
lines changed

.changeset/four-mammals-flash.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@tus/server": minor
3+
---
4+
5+
Update srvx

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/server/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ The main server request handler invoked on every request.
207207
Use this to integrate into your existing Node.js server.
208208

209209
This handler converts `http.IncomingMessage`/`http.ServerResponse` to `Request`/`Response`.
210-
You can still access the Node.js versions via `req.node.req`/`req.node.res` in the hooks.
210+
You can still access the Node.js versions via `req.runtime.node.req`/`req.runtime.node.res` in the hooks.
211211

212212
#### `server.handleWeb(req: Request)`
213213

packages/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"debug": "^4.3.4",
2626
"lodash.throttle": "^4.1.1",
2727
"set-cookie-parser": "^2.7.1",
28-
"srvx": "^0.2.8"
28+
"srvx": "~0.8.2"
2929
},
3030
"devDependencies": {
3131
"@types/debug": "^4.1.12",

packages/server/src/server.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import http from 'node:http'
22
import {EventEmitter} from 'node:events'
33

4-
import type {ServerRequest} from 'srvx/types'
4+
import type {ServerRequest} from 'srvx'
55
import {toNodeHandler} from 'srvx/node'
66
import debug from 'debug'
77
import {EVENTS, ERRORS, REQUEST_METHODS, TUS_RESUMABLE, HEADERS} from '@tus/utils'
@@ -130,17 +130,20 @@ export class Server extends EventEmitter {
130130
return this.handler(req)
131131
}
132132

133-
private async handler(req: Request) {
133+
private async handler(req: Request | ServerRequest) {
134134
const context = this.createContext()
135135
const headers = new Headers()
136136

137137
// Special case on the Node.js runtime,
138138
// We handle gracefully request errors such as disconnects or timeouts.
139139
// This is important to avoid memory leaks and ensure that the server can
140140
// handle subsequent requests without issues.
141-
if ('node' in req && req.node) {
142-
const nodeReq = (req.node as {req: http.IncomingMessage}).req
143-
nodeReq.once('error', () => {
141+
if ((req as ServerRequest)?.runtime?.node) {
142+
// biome-ignore lint/style/noNonNullAssertion: it's fine
143+
const node = (req as ServerRequest).runtime?.node!
144+
// @ts-expect-error backwards compatibility. srvx moved req.node to req.runtime.node.
145+
req.node = node
146+
node.req.once('error', () => {
144147
context.abort()
145148
})
146149
}

packages/server/src/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type {ServerRequest as Request} from 'srvx/types'
1+
import type {ServerRequest as Request} from 'srvx'
22
import type {Locker, Upload} from '@tus/utils'
33

44
/**

0 commit comments

Comments
 (0)