diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..57131ae --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,19 @@ +jobs: + build: + docker: + - image: buildpack-deps:trusty + steps: + - checkout + - run: + name: Install Swift + command: 'eval "$(curl -sL https://apt.vapor.sh)"' + - run: + name: Install Vapor toolbox + command: | + sudo apt-get install --yes vapor + sudo apt-get install --yes cmysql + sudo chmod -R a+rx /usr/ + - run: + name: Run Tests + command: | + swift test -Xswiftc -DNOJSON diff --git a/.travis.yml b/.travis.yml index 13c1b8b..228ec4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,12 +9,15 @@ before_install: brew tap vapor/tap; brew update; brew install vapor; + brew install cmysql; + gem install xcpretty; script: + - set -o pipefail - swift build - swift build -c release - swift package generate-xcodeproj --enable-code-coverage - - xcodebuild -scheme Gatekeeper -enableCodeCoverage YES test + - xcodebuild -scheme Gatekeeper -enableCodeCoverage YES test | xcpretty after_success: - bash <(curl -s https://codecov.io/bash) diff --git a/Sources/RateLimiter.swift b/Sources/RateLimiter.swift index 79501ff..f9a16ed 100644 --- a/Sources/RateLimiter.swift +++ b/Sources/RateLimiter.swift @@ -46,7 +46,7 @@ public struct RateLimiter: Middleware { } public func respond(to request: Request, chainingTo next: Responder) throws -> Response { - guard let peer = request.peerAddress?.address() else { + guard let peer = request.peerHostname else { throw Abort( .forbidden, metadata: nil, diff --git a/Tests/GatekeeperTests/GatekeeperTests.swift b/Tests/GatekeeperTests/GatekeeperTests.swift index b8d895e..72462b8 100644 --- a/Tests/GatekeeperTests/GatekeeperTests.swift +++ b/Tests/GatekeeperTests/GatekeeperTests.swift @@ -158,14 +158,18 @@ extension GatekeeperTests { } func getHTTPRequest() -> Request { - return try! Request(method: .get, uri: "http://localhost:8080/") + return Request(method: .get, uri: "http://localhost:8080/") } func getHTTPSRequest() -> Request { + + var headers = [HeaderKey: String]() + headers["X-Forwarded-For"] = "192.168.1.2" + return try! Request( method: .get, uri: URI("https://localhost:8080/"), - peerAddress: PeerAddress(stream: "192.168.1.2") + headers: headers ) } } diff --git a/circle.yml b/circle.yml deleted file mode 100644 index c15e3fb..0000000 --- a/circle.yml +++ /dev/null @@ -1,10 +0,0 @@ -dependencies: - override: - - eval "$(curl -sL https://apt.vapor.sh)" - - sudo apt-get install vapor - - sudo chmod -R a+rx /usr/ -test: - override: - - swift build - - swift build -c release - - swift test