bool http_servlet::reply_json(acl::HttpServletRequest&, acl::HttpServletResponse& res, int status, const acl::string& data) { res.setStatus(status) .setContentType("text/json; charset=utf-8") .setContentLength(data.size()); return res.write(data, data.size()) && res.write(NULL, 0); }
bool http_servlet::reply(acl::HttpServletRequest&, acl::HttpServletResponse& res, int status, const acl::string& buf) { res.setStatus(status) .setContentType("text/plain; charset=utf-8") .setContentLength(buf.size()); return res.write(buf, buf.size()) && res.write(NULL, 0); }
bool http_servlet::doOther(acl::HttpServletRequest&, acl::HttpServletResponse& res, const char* method) { res.setStatus(400); res.setContentType("text/xml; charset=utf-8"); // 发送 http 响应体 acl::string buf; buf.format("<root error='unkown request method %s' />\r\n", method); res.write(buf); res.write(NULL, 0); return false; }
bool http_servlet::doUnknown(acl::HttpServletRequest&, acl::HttpServletResponse& res) { res.setStatus(400); res.setContentType("text/html; charset=$<CHARSET>"); // 发送 http 响应头 if (res.sendHeader() == false) return false; // 发送 http 响应体 acl::string buf("<root error='unkown request method' />\r\n"); (void) res.getOutputStream().write(buf); return false; }
bool http_servlet::doUnknown(acl::HttpServletRequest& req, acl::HttpServletResponse& res) { out_.format(">>> request method: doUnknown <<<\r\n"); logger_request(req); res.setStatus(400); res.setContentType("text/html; charset="); // 发送 http 响应体 acl::string buf("<root error='unkown request method' />\r\n"); (void) res.getOutputStream().write(buf); return false; }
bool http_servlet::doReply(acl::HttpServletRequest&, acl::HttpServletResponse& res, int status, const char* fmt, ...) { acl::string buf; va_list ap; va_start(ap, fmt); buf.vformat(fmt, ap); va_end(ap); res.setStatus(status); res.setContentLength(buf.size()); return res.write(buf) && res.write(NULL, 0); }
bool http_servlet::doError(acl::HttpServletRequest&, acl::HttpServletResponse& res) { res.setStatus(400); res.setContentType("text/xml; charset=utf-8"); // 发送 http 响应体 acl::string buf; buf.format("<root error='some error happened!' />\r\n"); res.write(buf); res.write(NULL, 0); return false; }
bool http_servlet::doOther(acl::HttpServletRequest&, acl::HttpServletResponse& res, const char* method) { res.setStatus(400); res.setContentType("text/html; charset="); // 发送 http 响应头 if (res.sendHeader() == false) return false; // 发送 http 响应体 acl::string buf; buf.format("<root error='unkown request method %s' />\r\n", method); (void) res.getOutputStream().write(buf); return false; }
bool http_servlet::doReply(acl::HttpServletRequest& req, acl::HttpServletResponse& res, int status, acl::json& json) { res.setStatus(status); res.setContentType("text/json"); if (1) res.setKeepAlive(req.isKeepAlive()); else res.setKeepAlive(false); const acl::string& data = json.to_string(); res.setContentLength(data.size()); return res.write(data) && res.write(NULL, 0); }
bool http_servlet::doError(acl::HttpServletRequest&, acl::HttpServletResponse& res) { res.setStatus(400); res.setContentType("text/html; charset="); // 发送 http 响应头 if (res.sendHeader() == false) return false; // 发送 http 响应体 acl::string buf; buf.format("<root error='some error happened!' />\r\n"); (void) res.getOutputStream().write(buf); return false; }