Skip to content

Commit

Permalink
refactor: move writeEarlyHints to response
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Oct 14, 2022
1 parent ba2fe08 commit af61d95
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
12 changes: 0 additions & 12 deletions src/event/event.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,3 @@ export function isEvent (input: any): input is H3Event {
export function createEvent (req: NodeIncomingMessage, res: NodeServerResponse): H3Event {
return new H3Event(req, res)
}

export function writeEarlyHints (event: H3Event, links: string | string[], callback?: () => void) {
if (!event.res.socket && !('writeEarlyHints' in event.res)) { return }

if ('writeEarlyHints' in event.res) {
// @ts-expect-error native node 18 implementation
return event.res.writeEarlyHints(links, callback)
}

const _links = Array.isArray(links) ? links : [links]
event.res.socket!.write(`HTTP/1.1 103 Early Hints\r\nLink: ${_links.join('\r\n')}\r\n\r\n`, 'utf-8', callback)
}
12 changes: 12 additions & 0 deletions src/utils/response.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,15 @@ export function sendStream (event: H3Event, data: any): Promise<void> {
data.on('error', (error: Error) => reject(createError(error)))
})
}

export function writeEarlyHints (event: H3Event, links: string | string[], callback?: () => void) {
if (!event.res.socket && !('writeEarlyHints' in event.res)) { return }

if ('writeEarlyHints' in event.res) {
// @ts-expect-error native node 18 implementation
return event.res.writeEarlyHints(links, callback)
}

const _links = Array.isArray(links) ? links : [links]
event.res.socket!.write(`HTTP/1.1 103 Early Hints\r\nLink: ${_links.join('\r\n')}\r\n\r\n`, 'utf-8', callback)
}

0 comments on commit af61d95

Please sign in to comment.