瀏覽代碼

Merge pull request #250 from voynovia/feature/clean-warnings

Cleaned warnings
Damian Kołakowski 9 年之前
父節點
當前提交
eff40fa3db
共有 4 個文件被更改,包括 11 次插入8 次删除
  1. 4 3
      Sources/DemoServer.swift
  2. 1 1
      Sources/Scopes.swift
  3. 3 1
      Sources/String+File.swift
  4. 3 3
      Sources/WebSockets.swift

+ 4 - 3
Sources/DemoServer.swift

@@ -36,7 +36,7 @@ public func demoServer(_ publicDir: String) -> HttpServer {
         scopes {
             html {
                 body {
-                    h3 { inner = "Address: \(r.address)" }
+                    h3 { inner = "Address: \(r.address ?? "unknown")" }
                     h3 { inner = "Url: \(r.path)" }
                     h3 { inner = "Method: \(r.method)" }
                     
@@ -95,7 +95,8 @@ public func demoServer(_ publicDir: String) -> HttpServer {
     server.POST["/upload"] = { r in
         var response = ""
         for multipart in r.parseMultiPartFormData() {
-            response += "Name: \(multipart.name) File name: \(multipart.fileName) Size: \(multipart.body.count)<br>"
+            guard let name = multipart.name, let fileName = multipart.fileName else { continue }
+            response += "Name: \(name) File name: \(fileName) Size: \(multipart.body.count)<br>"
         }
         return HttpResponse.ok(.html(response))
     }
@@ -186,7 +187,7 @@ public func demoServer(_ publicDir: String) -> HttpServer {
     }
     
     server.middleware.append { r in
-        print("Middleware: \(r.address) -> \(r.method) -> \(r.path)")
+        print("Middleware: \(r.address ?? "unknown address") -> \(r.method) -> \(r.path)")
         return nil
     }
     

+ 1 - 1
Sources/Scopes.swift

@@ -17,7 +17,7 @@ public func scopes(_ scope: @escaping Closure) -> ((HttpRequest) -> HttpResponse
     }
 }
 
-public typealias Closure = (Void) -> Void
+public typealias Closure = () -> Void
 
 public var idd: String? = nil
 public var dir: String? = nil

+ 3 - 1
Sources/String+File.swift

@@ -117,7 +117,9 @@ extension String {
                 #if os(Linux)
                     return String(validatingUTF8: [CChar](UnsafeBufferPointer<CChar>(start: UnsafePointer(unsafeBitCast(ptr, to: UnsafePointer<CChar>.self)), count: 256)))
                 #else
-                    var buffer = [CChar](UnsafeBufferPointer(start: unsafeBitCast(ptr, to: UnsafePointer<CChar>.self), count: Int(ent.pointee.d_namlen)))
+                    var buffer = ptr.withMemoryRebound(to: CChar.self, capacity: Int(ent.pointee.d_reclen), { (ptrc) -> [CChar] in
+                      return [CChar](UnsafeBufferPointer(start: ptrc, count: Int(ent.pointee.d_namlen)))
+                    })
                     buffer.append(0)
                     return String(validatingUTF8: buffer)
                 #endif

+ 3 - 3
Sources/WebSockets.swift

@@ -13,13 +13,13 @@ public func websocket(
     _ binary: ((WebSocketSession, [UInt8]) -> Void)?) -> ((HttpRequest) -> HttpResponse) {
     return { r in
         guard r.hasTokenForHeader("upgrade", token: "websocket") else {
-            return .badRequest(.text("Invalid value of 'Upgrade' header: \(r.headers["upgrade"])"))
+            return .badRequest(.text("Invalid value of 'Upgrade' header: \(r.headers["upgrade"] ?? "unknown")"))
         }
         guard r.hasTokenForHeader("connection", token: "upgrade") else {
-            return .badRequest(.text("Invalid value of 'Connection' header: \(r.headers["connection"])"))
+            return .badRequest(.text("Invalid value of 'Connection' header: \(r.headers["connection"] ?? "unknown")"))
         }
         guard let secWebSocketKey = r.headers["sec-websocket-key"] else {
-            return .badRequest(.text("Invalid value of 'Sec-Websocket-Key' header: \(r.headers["sec-websocket-key"])"))
+            return .badRequest(.text("Invalid value of 'Sec-Websocket-Key' header: \(r.headers["sec-websocket-key"] ?? "unknown")"))
         }
         let protocolSessionClosure: ((Socket) -> Void) = { socket in
             let session = WebSocketSession(socket)