easy-https-server
Easy barebones https server.
npm i easy-https-server
|
pnpm add easy-https-server
|
yarn add easy-https-server
|
Examples
# node
# web
# view source
example/web.ts
import { add } from 'easy-https-server'
const main = document.querySelector('main')!
main.innerHTML = `<h1>1 + 2 = ${add(1, 2)}</h1>`
🥁 Use this template 🥁
Features
- TypeScript with SWC
- JSX/TSX out of the box
- Outputs both CommonJS and ES Modules, ready to publish on npm
- Automatic dist bundling using bunzee
- Documentation generation using dokio
- Isomorphic Node.js and real browser testing incl. coverage and snapshots with utr
- Examples / Playground using devito
- Evergreen using pull-configs
- ESLint
- dprint
- Husky
API
}
# writeEarlyHints
(earlyHintsLinks)
src/easy-https-server.ts#L56
# earlyHintsLinks
string []
writeEarlyHints(earlyHintsLinks) =>
-
Promise<void>
addListener(event, listener) =>
# event
"keylog"
addListener(event, listener) =>
# event
"newSession"
# listener
(sessionId, sessionData, callback)
listener(sessionId, sessionData, callback) =>
- void
addListener(event, listener) =>
# event
"OCSPRequest"
# listener
(certificate, issuer, callback)
listener(certificate, issuer, callback) =>
- void
addListener(event, listener) =>
# event
"resumeSession"
listener(sessionId, callback) =>
- void
addListener(event, listener) =>
# event
"secureConnection"
addListener(event, listener) =>
# event
"tlsClientError"
addListener(event, listener) =>
# event
"close"
# listener
()
listener() =>
- void
addListener(event, listener) =>
# event
"connection"
addListener(event, listener) =>
# event
"error"
addListener(event, listener) =>
# event
"listening"
# listener
()
listener() =>
- void
addListener(event, listener) =>
# event
"checkContinue"
# listener
RequestListener
addListener(event, listener) =>
# event
"checkExpectation"
# listener
RequestListener
addListener(event, listener) =>
# event
"clientError"
addListener(event, listener) =>
# event
"connect"
# listener
(req, socket, head)
addListener(event, listener) =>
# event
"request"
# listener
RequestListener
addListener(event, listener) =>
# event
"upgrade"
# listener
(req, socket, head)
addListener(event, listener) =>
close(callback) =>
# emit
(event, args)
# event
string
# args
any []
emit(event, args) =>
- boolean
# event
"keylog"
# line
Buffer
# tlsSocket
TLSSocket
emit(event, line, tlsSocket) =>
- boolean
# event
"newSession"
# sessionId
Buffer
# sessionData
Buffer
emit(event, sessionId, sessionData, callback) =>
- boolean
# event
"OCSPRequest"
# certificate
Buffer
# issuer
Buffer
emit(event, certificate, issuer, callback) =>
- boolean
# event
"resumeSession"
# sessionId
Buffer
emit(event, sessionId, callback) =>
- boolean
# event
"secureConnection"
# tlsSocket
TLSSocket
emit(event, tlsSocket) =>
- boolean
# event
"tlsClientError"
# err
Error
# tlsSocket
TLSSocket
emit(event, err, tlsSocket) =>
- boolean
# event
"close"
emit(event) =>
- boolean
# event
"connection"
# socket
Duplex
emit(event, socket) =>
- boolean
# event
"error"
# err
Error
emit(event, err) =>
- boolean
# event
"listening"
emit(event) =>
- boolean
# event
"checkContinue"
# req
IncomingMessage
# res
ServerResponse
emit(event, req, res) =>
- boolean
# event
"checkExpectation"
# req
IncomingMessage
# res
ServerResponse
emit(event, req, res) =>
- boolean
# event
"clientError"
# err
Error
# socket
Duplex
emit(event, err, socket) =>
- boolean
# event
"connect"
# req
IncomingMessage
# socket
Duplex
# head
Buffer
emit(event, req, socket, head) =>
- boolean
# event
"request"
# req
IncomingMessage
# res
ServerResponse
emit(event, req, res) =>
- boolean
# event
"upgrade"
# req
IncomingMessage
# socket
Duplex
# head
Buffer
emit(event, req, socket, head) =>
- boolean
getConnections(cb) =>
- void
# listen
(port, hostname, backlog, listeningListener)
listen(port, hostname, backlog, listeningListener) =>
# port
number
# hostname
string
# listeningListener
()
listeningListener() =>
- void
listen(port, hostname, listeningListener) =>
# port
number
# backlog
number
# listeningListener
()
listeningListener() =>
- void
listen(port, backlog, listeningListener) =>
# port
number
# listeningListener
()
listeningListener() =>
- void
listen(port, listeningListener) =>
# path
string
# backlog
number
# listeningListener
()
listeningListener() =>
- void
listen(path, backlog, listeningListener) =>
# path
string
# listeningListener
()
listeningListener() =>
- void
listen(path, listeningListener) =>
# options
ListenOptions
# listeningListener
()
listeningListener() =>
- void
listen(options, listeningListener) =>
# handle
any
# backlog
number
# listeningListener
()
listeningListener() =>
- void
listen(handle, backlog, listeningListener) =>
# handle
any
# listeningListener
()
listeningListener() =>
- void
listen(handle, listeningListener) =>
off(eventName, listener) =>
on(event, listener) =>
# event
"keylog"
on(event, listener) =>
# event
"newSession"
# listener
(sessionId, sessionData, callback)
listener(sessionId, sessionData, callback) =>
- void
on(event, listener) =>
# event
"OCSPRequest"
# listener
(certificate, issuer, callback)
listener(certificate, issuer, callback) =>
- void
on(event, listener) =>
# event
"resumeSession"
listener(sessionId, callback) =>
- void
on(event, listener) =>
# event
"secureConnection"
on(event, listener) =>
# event
"tlsClientError"
on(event, listener) =>
# event
"close"
# listener
()
listener() =>
- void
on(event, listener) =>
# event
"connection"
on(event, listener) =>
# event
"error"
on(event, listener) =>
# event
"listening"
# listener
()
listener() =>
- void
on(event, listener) =>
# event
"checkContinue"
# listener
RequestListener
on(event, listener) =>
# event
"checkExpectation"
# listener
RequestListener
on(event, listener) =>
# event
"clientError"
on(event, listener) =>
# event
"connect"
# listener
(req, socket, head)
on(event, listener) =>
# event
"request"
# listener
RequestListener
on(event, listener) =>
# event
"upgrade"
# listener
(req, socket, head)
on(event, listener) =>
once(event, listener) =>
# event
"keylog"
once(event, listener) =>
# event
"newSession"
# listener
(sessionId, sessionData, callback)
listener(sessionId, sessionData, callback) =>
- void
once(event, listener) =>
# event
"OCSPRequest"
# listener
(certificate, issuer, callback)
listener(certificate, issuer, callback) =>
- void
once(event, listener) =>
# event
"resumeSession"
listener(sessionId, callback) =>
- void
once(event, listener) =>
# event
"secureConnection"
once(event, listener) =>
# event
"tlsClientError"
once(event, listener) =>
# event
"close"
# listener
()
listener() =>
- void
once(event, listener) =>
# event
"connection"
once(event, listener) =>
# event
"error"
once(event, listener) =>
# event
"listening"
# listener
()
listener() =>
- void
once(event, listener) =>
# event
"checkContinue"
# listener
RequestListener
once(event, listener) =>
# event
"checkExpectation"
# listener
RequestListener
once(event, listener) =>
# event
"clientError"
once(event, listener) =>
# event
"connect"
# listener
(req, socket, head)
once(event, listener) =>
# event
"request"
# listener
RequestListener
once(event, listener) =>
# event
"upgrade"
# listener
(req, socket, head)
once(event, listener) =>
prependListener(event, listener) =>
# event
"keylog"
prependListener(event, listener) =>
# event
"newSession"
# listener
(sessionId, sessionData, callback)
listener(sessionId, sessionData, callback) =>
- void
prependListener(event, listener) =>
# event
"OCSPRequest"
# listener
(certificate, issuer, callback)
listener(certificate, issuer, callback) =>
- void
prependListener(event, listener) =>
# event
"resumeSession"
listener(sessionId, callback) =>
- void
prependListener(event, listener) =>
# event
"secureConnection"
prependListener(event, listener) =>
# event
"tlsClientError"
prependListener(event, listener) =>
# event
"close"
# listener
()
listener() =>
- void
prependListener(event, listener) =>
# event
"connection"
prependListener(event, listener) =>
# event
"error"
prependListener(event, listener) =>
# event
"listening"
# listener
()
listener() =>
- void
prependListener(event, listener) =>
# event
"checkContinue"
# listener
RequestListener
prependListener(event, listener) =>
# event
"checkExpectation"
# listener
RequestListener
prependListener(event, listener) =>
# event
"clientError"
prependListener(event, listener) =>
# event
"connect"
# listener
(req, socket, head)
prependListener(event, listener) =>
# event
"request"
# listener
RequestListener
prependListener(event, listener) =>
# event
"upgrade"
# listener
(req, socket, head)
prependListener(event, listener) =>
prependOnceListener(event, listener) =>
# event
"keylog"
prependOnceListener(event, listener) =>
# event
"newSession"
# listener
(sessionId, sessionData, callback)
listener(sessionId, sessionData, callback) =>
- void
prependOnceListener(event, listener) =>
# event
"OCSPRequest"
# listener
(certificate, issuer, callback)
listener(certificate, issuer, callback) =>
- void
prependOnceListener(event, listener) =>
# event
"resumeSession"
listener(sessionId, callback) =>
- void
prependOnceListener(event, listener) =>
# event
"secureConnection"
prependOnceListener(event, listener) =>
# event
"tlsClientError"
prependOnceListener(event, listener) =>
# event
"close"
# listener
()
listener() =>
- void
prependOnceListener(event, listener) =>
# event
"connection"
prependOnceListener(event, listener) =>
# event
"error"
prependOnceListener(event, listener) =>
# event
"listening"
# listener
()
listener() =>
- void
prependOnceListener(event, listener) =>
# event
"checkContinue"
# listener
RequestListener
prependOnceListener(event, listener) =>
# event
"checkExpectation"
# listener
RequestListener
prependOnceListener(event, listener) =>
# event
"clientError"
prependOnceListener(event, listener) =>
# event
"connect"
# listener
(req, socket, head)
prependOnceListener(event, listener) =>
# event
"request"
# listener
RequestListener
prependOnceListener(event, listener) =>
# event
"upgrade"
# listener
(req, socket, head)
prependOnceListener(event, listener) =>
removeListener(eventName, listener) =>
setTimeout(msecs, callback) =>
# callback
()
callback() =>
- void
setTimeout(callback) =>
# createHttpsServer
(options)
src/easy-https-server.ts#L80
# options
createHttpsServer(options) =>
- {
# request
= ...
src/easy-https-server.ts#L122 {
# [asyncIterator]
()
src/easy-https-server.ts#L123
[asyncIterator]() =>
-
AsyncGenerator<HttpContext, void, unknown>
etag({ mtime, size }) =>
- string
getAddress({ hostname, port }) =>
- {
}
getNetworkAddress({ port }) =>
- string
# dash
= '─'
string
hr(chalk, dash) =>
- void
# link
(earlyHints)
src/core.ts#L18
# earlyHints
string [] | Set<string>
link(earlyHints) =>
- {
} | {
}
# printAddress
({ color, localAddress, networkAddress, qrcode })
src/util.ts#L94 {
}
printAddress({ color, localAddress, networkAddress, qrcode }) =>
- void
# serveStatic
(req, res, pathname, { cache, ifNoneMatch, outgoingHeaders, readStreamOptions })
src/core.ts#L46
# req
IncomingMessage & {
# res
# writeEarlyHints
(earlyHintsLinks)
src/easy-https-server.ts#L56
# earlyHintsLinks
string []
writeEarlyHints(earlyHintsLinks) =>
-
Promise<void>
# pathname
string
}
serveStatic(req, res, pathname, { cache, ifNoneMatch, outgoingHeaders, readStreamOptions }) =>
-
Promise<void>
Credits
- @stagas/chalk by stagas – Terminal string styling done right (+ CommonJS build)
- everyday-node by stagas – Everyday node utilities.
- everyday-utils by stagas – Everyday utilities
- make-cert by Vinson Chuong – Quickly generate a self-signed cert to start an HTTPS server
- mime-types by jshttp – The ultimate javascript content-type utility.
- qrcode-terminal by gtanner – QRCodes, in the terminal
Contributing
All contributions are welcome!