This will turn beautiful snippets of code such as:
var j = -1
var postRequest: ((Callback)->())!
postRequest = {
a in
switch a {
case .Continue(let req, let res):
j = j+1
if j < self.postRequestHandlers.count {
self.postRequestHandlers[j](req, res, postRequest)
}
case .Send(_, _):
print("Attempting to send a response twice")
}
}
var cb: ((Callback)->())!
var i = -1
cb = {
a in
switch a {
case .Continue(let req, let res):
i = i+1
if i < self.handlers.count {
self.handlers[i](req, res, cb)
} else {
self.notFoundHandler(req, res, cb)
}
case .Send(let req, let res):
let data = res.generateResponse(req.method)
socket.sendData(data)
postRequest(.Continue(req, res))
}
}
cb(.Continue(request, response))
into this:
let callbackHandler = CallbackHandler(handlers: self.handlers)
callbackHandler.onContinueWithNoHandlersLeft = notFoundHandler
callbackHandler.onSend = { req, res, cb in
let data = res.generateResponse(req.method)
socket.sendData(data)
self.startHooks(request: request, response: response)
}
callbackHandler.start(request, response)
I've tested it a little bit but that doesn't mean it isn't broken. Would appreciate another eye :smiley:
This will turn beautiful snippets of code such as:
into this:
I've tested it a little bit but that doesn't mean it isn't broken. Would appreciate another eye :smiley: