mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-13 10:19:55 -06:00
* use own server-destroy implementation that supports secureConnect events * stand up HTTPS server for requests over ssl to IPs * don't need to resolve with * fix tests * stand up a server on 127.0.0.1 for test * tighten up / cleanup code, consolidate + refactor - lazily fs.outputfile’s - move sslIpServers to be global - add remove all CA utility * Improve proxy_spec test * Don't crash on server error events * feedback * derp Co-authored-by: Brian Mann <brian.mann86@gmail.com>
43 lines
934 B
CoffeeScript
43 lines
934 B
CoffeeScript
https = require("https")
|
|
Promise = require("bluebird")
|
|
{ allowDestroy } = require("@packages/network")
|
|
certs = require("./certs")
|
|
|
|
defaultOnRequest = (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 = []
|
|
|
|
create = (onRequest) ->
|
|
https.createServer(certs, onRequest ? defaultOnRequest)
|
|
|
|
module.exports = {
|
|
create
|
|
|
|
start: (port, onRequest) ->
|
|
new Promise (resolve) ->
|
|
srv = create(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 = []
|
|
}
|