mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-12 09:50:04 -06:00
35 lines
870 B
CoffeeScript
35 lines
870 B
CoffeeScript
url = require("url")
|
|
|
|
module.exports = {
|
|
parseHost: (hostString, defaultPort) ->
|
|
if m = hostString.match(/^http:\/\/(.*)/)
|
|
parsedUrl = url.parse(hostString)
|
|
|
|
return {
|
|
host: parsedUrl.hostname
|
|
port: parsedUrl.port
|
|
}
|
|
|
|
hostPort = hostString.split(':')
|
|
host = hostPort[0]
|
|
port = if hostPort.length is 2 then +hostPort[1] else defaultPort
|
|
|
|
return {
|
|
host: host
|
|
port: port
|
|
}
|
|
|
|
hostAndPort: (reqUrl, headers, defaultPort) ->
|
|
host = headers.host
|
|
|
|
hostPort = @parseHost(host, defaultPort)
|
|
|
|
## this handles paths which include the full url. This could happen if it's a proxy
|
|
if m = reqUrl.match(/^http:\/\/([^\/]*)\/?(.*)$/)
|
|
parsedUrl = url.parse(reqUrl)
|
|
hostPort.host = parsedUrl.hostname
|
|
hostPort.port = parsedUrl.port
|
|
reqUrl = parsedUrl.path
|
|
|
|
hostPort
|
|
} |