1
0

Merge pull request #14 from connormckelvey/main

Add websocket support
This commit is contained in:
Toby Schneider
2022-06-01 20:39:16 +02:00
committed by GitHub
3 changed files with 19 additions and 7 deletions

View File

@@ -152,10 +152,11 @@ Key | Type | Description
### `res`-Object
Key | Type | Description
--------- | ------------------- | -----------
----------- | ------------------- | -----------
`body` | `object` / `string` | Either set an `object` (will be converted to JSON) or a string
`headers` | `Headers` | Response [Headers Object](https://developer.mozilla.org/en-US/docs/Web/API/Headers)
`status` | `integer` | Return status code (default: `204`)
`webSocket` | `WebSocket` | Upgraded websocket connection
## Setup

4
index.d.ts vendored
View File

@@ -321,6 +321,10 @@ type RouterResponse = {
body: {
[key: string]: string
} | string
/**
* Upgraded websocket connection
*/
webSocket?: WebSocket
}
/**
* Next Function

View File

@@ -384,10 +384,17 @@ class Router {
if (res.raw) {
return res.raw
}
return new Response(res.body, {
const resInit = {
status: res.status || (res.body ? 200 : 204),
headers: res.headers
})
}
if (res.webSocket) {
resInit.webSocket = res.webSocket
}
return new Response(res.body, resInit)
} catch(err) {
console.error(err)
return new Response(this.debugMode ? err.stack : '', { status: 500 })