// POST 方法 virtual bool doPost(HttpServletRequest& req, HttpServletResponse& res) { first_ = false; logger("request one now"); // 创建 HTTP 响应头 res.addCookie("name1", "value1"); res.addCookie("name2", "value2", ".test.com", "/", 3600 * 24); res.setChunkedTransferEncoding(true); res.setKeepAlive(true); // res.setStatus(400); // 可以设置返回的状态码 // 两种方式都可以设置字符集 if (0) res.setContentType("text/xml; charset=gb2312"); else { res.setContentType("text/xml"); res.setCharacterEncoding("gb2312"); } // 获得 HTTP 请求的数据类型,正常的参数类型,即 name&value 方式 // 还是 MIME 数据类型,还是数据流类型 http_request_t request_type = req.getRequestType(); if (request_type == HTTP_REQUEST_NORMAL) return doParams(req, res); else if (request_type == HTTP_REQUEST_MULTIPART_FORM) return doUpload(req, res); assert(request_type == HTTP_REQUEST_OCTET_STREAM); return doOctetStream(req, res); }