mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-14 02:50:04 -06:00
49 lines
1.2 KiB
CoffeeScript
49 lines
1.2 KiB
CoffeeScript
fs = require("fs")
|
|
path = require("path")
|
|
https = require("https")
|
|
Promise = require("bluebird")
|
|
sslRootCas = require('ssl-root-cas')
|
|
allowDestroy = require("server-destroy-vvo")
|
|
|
|
sslRootCas
|
|
.inject()
|
|
.addFile(path.join(__dirname, "certs", "server", "my-root-ca.crt.pem"))
|
|
|
|
options = {
|
|
key: fs.readFileSync(path.join(__dirname, "certs", "server", "my-server.key.pem"))
|
|
cert: fs.readFileSync(path.join(__dirname, "certs", "server", "my-server.crt.pem"))
|
|
}
|
|
|
|
onRequest = (req, res) ->
|
|
console.log "HTTPS SERVER REQUEST URL:", req.url
|
|
console.log "HTTPS SERVER REQUEST HEADERS:", req.headers
|
|
|
|
res.setHeader("Content-Type", "text/html")
|
|
res.writeHead(200)
|
|
res.end("<html><head></head><body>https server</body></html>")
|
|
|
|
servers = []
|
|
|
|
module.exports = {
|
|
start: (port) ->
|
|
new Promise (resolve) ->
|
|
srv = https.createServer(options, onRequest)
|
|
|
|
allowDestroy(srv)
|
|
|
|
servers.push(srv)
|
|
|
|
srv.listen port, ->
|
|
console.log "server listening on port: #{port}"
|
|
resolve(srv)
|
|
|
|
stop: ->
|
|
stop = (srv) ->
|
|
new Promise (resolve) ->
|
|
srv.destroy(resolve)
|
|
|
|
Promise.map(servers, stop)
|
|
.then ->
|
|
servers = []
|
|
}
|