Software / code / prosody
Comparison
net/http/server.lua @ 4788:e14f5a156571
net.http.server: Code cleanup/adjustment now that send_response() accepts response.body
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 28 Apr 2012 19:36:57 +0100 |
| parent | 4787:1d753fecf95b |
| child | 5300:fcb1be0b4a5c |
comparison
equal
deleted
inserted
replaced
| 4787:1d753fecf95b | 4788:e14f5a156571 |
|---|---|
| 194 local payload = { request = request, response = response }; | 194 local payload = { request = request, response = response }; |
| 195 --log("debug", "Firing event: %s", event); | 195 --log("debug", "Firing event: %s", event); |
| 196 local result = events.fire_event(event, payload); | 196 local result = events.fire_event(event, payload); |
| 197 if result ~= nil then | 197 if result ~= nil then |
| 198 if result ~= true then | 198 if result ~= true then |
| 199 local body = ""; | 199 local body; |
| 200 local result_type = type(result); | 200 local result_type = type(result); |
| 201 if result_type == "number" then | 201 if result_type == "number" then |
| 202 response.status_code = result; | 202 response.status_code = result; |
| 203 if result >= 400 then | 203 if result >= 400 then |
| 204 body = events.fire_event("http-error", { code = result }); | 204 body = events.fire_event("http-error", { code = result }); |
| 205 end | 205 end |
| 206 elseif result_type == "string" then | 206 elseif result_type == "string" then |
| 207 body = result; | 207 body = result; |
| 208 elseif result_type == "table" then | 208 elseif result_type == "table" then |
| 209 body = result.body; | |
| 210 result.body = nil; | |
| 211 for k, v in pairs(result) do | 209 for k, v in pairs(result) do |
| 212 response[k] = v; | 210 response[k] = v; |
| 213 end | 211 end |
| 214 end | 212 end |
| 215 response:send(body); | 213 response:send(body); |