custom-https-server.test.js — fastify Source File
Architecture documentation for custom-https-server.test.js, a javascript file in the fastify codebase.
Entity Profile
Relationship Graph
Source Code
'use strict'
const { test } = require('node:test')
const Fastify = require('../..')
const https = require('node:https')
const dns = require('node:dns').promises
const { buildCertificate } = require('../build-certificate')
const { Agent } = require('undici')
async function setup () {
await buildCertificate()
const localAddresses = await dns.lookup('localhost', { all: true })
test('Should support a custom https server', { skip: localAddresses.length < 1 }, async t => {
t.plan(5)
const fastify = Fastify({
serverFactory: (handler, opts) => {
t.assert.ok(opts.serverFactory, 'it is called once for localhost')
const options = {
key: global.context.key,
cert: global.context.cert
}
const server = https.createServer(options, (req, res) => {
req.custom = true
handler(req, res)
})
return server
}
})
t.after(() => { fastify.close() })
fastify.get('/', (req, reply) => {
t.assert.ok(req.raw.custom)
reply.send({ hello: 'world' })
})
await fastify.listen({ port: 0 })
const result = await fetch('https://localhost:' + fastify.server.address().port, {
dispatcher: new Agent({
connect: {
rejectUnauthorized: false
}
})
})
t.assert.ok(result.ok)
t.assert.strictEqual(result.status, 200)
t.assert.deepStrictEqual(await result.json(), { hello: 'world' })
})
}
setup()
Domain
Subdomains
Functions
Source
Frequently Asked Questions
What does custom-https-server.test.js do?
custom-https-server.test.js is a source file in the fastify codebase, written in javascript. It belongs to the CoreKernel domain, LifecycleManager subdomain.
What functions are defined in custom-https-server.test.js?
custom-https-server.test.js defines 1 function(s): setup.
Where is custom-https-server.test.js in the architecture?
custom-https-server.test.js is located at test/https/custom-https-server.test.js (domain: CoreKernel, subdomain: LifecycleManager, directory: test/https).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free