}
}
-int RGWMongoose::send_status(const char *status, const char *status_name)
+int RGWMongoose::send_status(int status, const char *status_name)
{
char buf[128];
if (!status_name)
status_name = "";
- snprintf(buf, sizeof(buf), "HTTP/1.1 %s %s\r\n", status, status_name);
+ snprintf(buf, sizeof(buf), "HTTP/1.1 %d %s\r\n", status, status_name);
bufferlist bl;
bl.append(buf);
bl.append(header_data);
header_data = bl;
- status_num = atoi(status);
+ status_num = status;
mg_set_http_status(conn, status_num);
return 0;
int write_data(const char *buf, int len);
int read_data(char *buf, int len);
- int send_status(const char *status, const char *status_name);
+ int send_status(int status, const char *status_name);
int send_100_continue();
int complete_header();
int complete_request();
virtual void flush() = 0;
int read(char *buf, int max, int *actual);
- virtual int send_status(const char *status, const char *status_name) = 0;
+ virtual int send_status(int status, const char *status_name) = 0;
virtual int send_100_continue() = 0;
virtual int complete_header() = 0;
virtual int complete_request() = 0;
env.init(cct, (char **)fcgx->envp);
}
-int RGWFCGX::send_status(const char *status, const char *status_name)
+int RGWFCGX::send_status(int status, const char *status_name)
{
- status_num = atoi(status);
- return print("Status: %s %s\r\n", status, status_name);
+ status_num = status;
+ return print("Status: %d %s\r\n", status, status_name);
}
int RGWFCGX::send_100_continue()
{
- int r = send_status("100", "Continue");
+ int r = send_status(100, "Continue");
if (r >= 0) {
flush();
}
int write_data(const char *buf, int len);
int read_data(char *buf, int len);
- int send_status(const char *status, const char *status_name);
+ int send_status(int status, const char *status_name);
int send_100_continue();
int complete_header();
int complete_request() { return 0; }
env.set("SERVER_PORT", port_buf);
}
-int RGWLoadGenIO::send_status(const char *status, const char *status_name)
+int RGWLoadGenIO::send_status(int status, const char *status_name)
{
return 0;
}
int write_data(const char *buf, int len);
int read_data(char *buf, int len);
- int send_status(const char *status, const char *status_name);
+ int send_status(int status, const char *status_name);
int send_100_continue();
int complete_header();
int complete_request();
return false;
}
-static void dump_status(struct req_state *s, const char *status, const char *status_name)
+static void dump_status(struct req_state *s, int status, const char *status_name)
{
int r = s->cio->send_status(status, status_name);
if (r < 0) {
void dump_errno(struct req_state *s)
{
- char buf[32];
- snprintf(buf, sizeof(buf), "%d", s->err.http_ret);
- dump_status(s, buf, http_status_names[s->err.http_ret]);
+ dump_status(s, s->err.http_ret, http_status_names[s->err.http_ret]);
}
-void dump_errno(struct req_state *s, int err)
+void dump_errno(struct req_state *s, int http_ret)
{
- char buf[32];
- snprintf(buf, sizeof(buf), "%d", err);
- dump_status(s, buf, http_status_names[s->err.http_ret]);
+ dump_status(s, http_ret, http_status_names[http_ret]);
}
void dump_string_header(struct req_state *s, const char *name, const char *val)