From 38fa827387c575917941a7b0e93242b928456054 Mon Sep 17 00:00:00 2001 From: Benoit Briatte Date: Wed, 8 May 2019 15:27:29 +0200 Subject: [PATCH] update swift 5.0 --- .gitignore | 1 + LICENSE | 2 +- Package.swift | 21 ++++++++++++++----- README.md | 15 ++++++++++--- .../CompositeMiddlewareBinder.swift | 0 .../{ => PerfectMiddleware}/Middleware.swift | 0 .../MiddlewareBinder.swift | 0 .../MiddlewareIterator.swift | 0 .../MiddlewareRegistry.swift | 0 .../MiddlewareWrapper.swift | 0 .../RouteContext.swift | 0 .../RouteMiddlewareBinder.swift | 0 .../RouterMiddleware.swift | 20 +++++++++--------- 13 files changed, 40 insertions(+), 19 deletions(-) rename Sources/{ => PerfectMiddleware}/CompositeMiddlewareBinder.swift (100%) rename Sources/{ => PerfectMiddleware}/Middleware.swift (100%) rename Sources/{ => PerfectMiddleware}/MiddlewareBinder.swift (100%) rename Sources/{ => PerfectMiddleware}/MiddlewareIterator.swift (100%) rename Sources/{ => PerfectMiddleware}/MiddlewareRegistry.swift (100%) rename Sources/{ => PerfectMiddleware}/MiddlewareWrapper.swift (100%) rename Sources/{ => PerfectMiddleware}/RouteContext.swift (100%) rename Sources/{ => PerfectMiddleware}/RouteMiddlewareBinder.swift (100%) rename Sources/{ => PerfectMiddleware}/RouterMiddleware.swift (92%) diff --git a/.gitignore b/.gitignore index 58e96ea..e0338ae 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ Packages/ .build/ *.xcodeproj Package.pins +Package.resolved # CocoaPods # diff --git a/LICENSE b/LICENSE index 32b1dac..2b9e9eb 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2017, Digipolitan +Copyright (c) 2019, Digipolitan All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Package.swift b/Package.swift index f478d87..a66494c 100644 --- a/Package.swift +++ b/Package.swift @@ -1,12 +1,23 @@ -// swift-tools-version:3.1 +// swift-tools-version:5.0 import PackageDescription let package = Package( name: "PerfectMiddleware", + products: [ + .library( + name: "PerfectMiddleware", + targets: ["PerfectMiddleware"]), + ], dependencies: [ - .Package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", - majorVersion: 2, - minor: 2) - ] + .package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", from: "3.0.0") + ], + targets: [ + .target( + name: "PerfectMiddleware", + dependencies: ["PerfectHTTPServer"]), + .testTarget( + name: "PerfectMiddlewareTests", + dependencies: ["PerfectHTTPServer"]) + ] ) diff --git a/README.md b/README.md index 7953ef5..aaa27c5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ PerfectMiddleware ================================= +[![Swift Version](https://img.shields.io/badge/swift-5.0-orange.svg?style=flat)](https://developer.apple.com/swift/) [![Twitter](https://img.shields.io/badge/twitter-@Digipolitan-blue.svg?style=flat)](http://twitter.com/Digipolitan) Perfect middleware swift allows developer to register middlewares inside a Perfect HTTPServer @@ -12,12 +13,20 @@ Perfect middleware swift allows developer to register middlewares inside a Perfe To install PerfectMiddleware with SPM, add the following lines to your `Package.swift`. ```swift -import PackageDescription - let package = Package( name: "XXX", + products: [ + .library( + name: "XXX", + targets: ["XXX"]), + ], dependencies: [ - .Package(url: "https://github.com/Digipolitan/perfect-middleware-swift.git", majorVersion: 1) + .package(url: "https://github.com/Digipolitan/perfect-middleware-swift.git", from: "1.1.0") + ], + targets: [ + .target( + name: "XXX", + dependencies: ["PerfectMiddleware"]) ] ) ``` diff --git a/Sources/CompositeMiddlewareBinder.swift b/Sources/PerfectMiddleware/CompositeMiddlewareBinder.swift similarity index 100% rename from Sources/CompositeMiddlewareBinder.swift rename to Sources/PerfectMiddleware/CompositeMiddlewareBinder.swift diff --git a/Sources/Middleware.swift b/Sources/PerfectMiddleware/Middleware.swift similarity index 100% rename from Sources/Middleware.swift rename to Sources/PerfectMiddleware/Middleware.swift diff --git a/Sources/MiddlewareBinder.swift b/Sources/PerfectMiddleware/MiddlewareBinder.swift similarity index 100% rename from Sources/MiddlewareBinder.swift rename to Sources/PerfectMiddleware/MiddlewareBinder.swift diff --git a/Sources/MiddlewareIterator.swift b/Sources/PerfectMiddleware/MiddlewareIterator.swift similarity index 100% rename from Sources/MiddlewareIterator.swift rename to Sources/PerfectMiddleware/MiddlewareIterator.swift diff --git a/Sources/MiddlewareRegistry.swift b/Sources/PerfectMiddleware/MiddlewareRegistry.swift similarity index 100% rename from Sources/MiddlewareRegistry.swift rename to Sources/PerfectMiddleware/MiddlewareRegistry.swift diff --git a/Sources/MiddlewareWrapper.swift b/Sources/PerfectMiddleware/MiddlewareWrapper.swift similarity index 100% rename from Sources/MiddlewareWrapper.swift rename to Sources/PerfectMiddleware/MiddlewareWrapper.swift diff --git a/Sources/RouteContext.swift b/Sources/PerfectMiddleware/RouteContext.swift similarity index 100% rename from Sources/RouteContext.swift rename to Sources/PerfectMiddleware/RouteContext.swift diff --git a/Sources/RouteMiddlewareBinder.swift b/Sources/PerfectMiddleware/RouteMiddlewareBinder.swift similarity index 100% rename from Sources/RouteMiddlewareBinder.swift rename to Sources/PerfectMiddleware/RouteMiddlewareBinder.swift diff --git a/Sources/RouterMiddleware.swift b/Sources/PerfectMiddleware/RouterMiddleware.swift similarity index 92% rename from Sources/RouterMiddleware.swift rename to Sources/PerfectMiddleware/RouterMiddleware.swift index 2003001..a26b21f 100644 --- a/Sources/RouterMiddleware.swift +++ b/Sources/PerfectMiddleware/RouterMiddleware.swift @@ -30,20 +30,20 @@ open class RouterMiddleware { private var verbose: Bool; public static func sanitize(path: String) -> String { - var characters = path.characters - guard characters.count > 0 && path != "/" else { + guard path.count > 0 && path != "/" else { return "/" } - let last = characters.endIndex + var res = path; + let last = res.endIndex let separator = Character(UnicodeScalar(47)) - if characters[characters.index(before: last)] == separator { - characters.removeLast() + if res[res.index(before: last)] == separator { + res.removeLast() } - let first = characters.startIndex - if characters[first] != separator { - characters.insert(separator, at: first) + let first = res.startIndex + if res[first] != separator { + res.insert(separator, at: first) } - return String(characters) + return res } public convenience init() { @@ -179,7 +179,7 @@ public extension HTTPServer { * Register the router inside the HttpServer by adding all routes * @param router The router midddleware to register */ - public func use(router: RouterMiddleware) { + func use(router: RouterMiddleware) { self.addRoutes(router.getRoutes()) } }