Skip to content

Commit 3ac60ff

Browse files
committed
Add missing header
1 parent 5f4cbb8 commit 3ac60ff

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

Sources/Slimane.swift

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
public class Slimane {
1616
internal var middlewares: [AsyncMiddleware] = []
17-
17+
1818
internal var router: Router
1919

2020
public var setNodelay = false
@@ -30,7 +30,7 @@ public class Slimane {
3030
result { Response() }
3131
}
3232
}
33-
33+
3434
internal func dispatch(request: Request, stream: Skelton.HTTPStream){
3535
var request = request
3636
let responder: AsyncResponder
@@ -43,7 +43,11 @@ public class Slimane {
4343
}
4444
return
4545
}
46-
route.handler.respond(to: request, result: result)
46+
route.handler.respond(to: request) { chainedResponse in
47+
result {
48+
request.response.merged(try chainedResponse())
49+
}
50+
}
4751
}
4852
} else {
4953
responder = BasicAsyncResponder { [unowned self] _, result in
@@ -60,10 +64,17 @@ public class Slimane {
6064
}
6165
}
6266
}
63-
67+
6468
private func processStream(response: Response, _ request: Request, _ stream: Skelton.HTTPStream){
6569
var response = response
6670

71+
response.headers["Date"] = Header(Time().rfc1123)
72+
response.headers["Server"] = Header("Slimane")
73+
74+
if response.headers["Connection"].isEmpty {
75+
response.headers["Connection"] = Header(request.isKeepAlive ? "Keep-Alive" : "Close")
76+
}
77+
6778
if response.contentLength == 0 && !response.isChunkEncoded {
6879
response.contentLength = response.bodyLength
6980
}

0 commit comments

Comments
 (0)