UNPKG

st

Version:

A module for serving static files. Does etags, caching, etc.

45 lines (35 loc) 846 B
const path = require('path') const http = require('http') const request = require('request') const { test, teardown } = require('tap') const st = require('../st.js') let address let server const opts = { dot: global.dot, path: path.join(__dirname, 'fixtures', '.dotted-dir') } const mount = st(opts) const req = (url, cb) => { let host = address.address if (address.family === 'IPv6') { host = `[${host}]` } request({ url: `http://${host}:${address.port}${url}` }, cb) } test('setup', (t) => { server = http.createServer((req, res) => { if (!mount(req, res)) { res.statusCode = 404 return res.end(`Not a match: ${req.url}`) } }).listen(0, '127.0.0.1', () => { t.pass('listening') address = server.address() t.end() }) }) teardown(() => { server.close() }) module.exports.req = req