@@ -58,14 +58,18 @@ public final class HTTPConnection {
58
58
self . eventLoop = eventLoop
59
59
self . closedCallback = closedCallback
60
60
61
- transport. readDataCallback = handleDataReceived
62
- transport. closedCallback = handleConnectionClosed
61
+ transport. readDataCallback = { [ unowned self] data in
62
+ self . handleDataReceived ( data)
63
+ }
64
+ transport. closedCallback = { [ unowned self] reason in
65
+ self . handleConnectionClosed ( reason)
66
+ }
63
67
64
68
let propagateHandler = PropagateLogHandler ( logger: logger)
65
69
let contextHandler = TransformLogHandler (
66
70
handler: propagateHandler
67
71
) { [ unowned self] record in
68
- return record. overwriteMessage { [ unowned self] in " [ \( self . uuid) ] \( $0. message) " }
72
+ return record. overwriteMessage { [ unowned self] in " [ \( self . uuid) ] \( $0. message) " }
69
73
}
70
74
self . logger. add ( handler: contextHandler)
71
75
}
@@ -133,7 +137,9 @@ public final class HTTPConnection {
133
137
// set SWSGI keys
134
138
environ [ " swsgi.version " ] = " 0.1 "
135
139
environ [ " swsgi.url_scheme " ] = " http "
136
- environ [ " swsgi.input " ] = swsgiInput
140
+ environ [ " swsgi.input " ] = { [ unowned self] ( handler: ( ( Data ) -> Void ) ? ) in
141
+ self . swsgiInput ( handler)
142
+ }
137
143
// TODO: add output file for error
138
144
environ [ " swsgi.error " ] = " "
139
145
environ [ " swsgi.multithread " ] = false
0 commit comments