summaryrefslogtreecommitdiff
path: root/src/rgw/rgw_mongoose.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rgw/rgw_mongoose.h')
-rw-r--r--src/rgw/rgw_mongoose.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/rgw/rgw_mongoose.h b/src/rgw/rgw_mongoose.h
new file mode 100644
index 00000000000..e49f663130a
--- /dev/null
+++ b/src/rgw/rgw_mongoose.h
@@ -0,0 +1,34 @@
+#ifndef CEPH_RGW_MONGOOSE_H
+#define CEPH_RGW_MONGOOSE_H
+
+#include "rgw_client_io.h"
+
+
+struct mg_connection;
+
+
+class RGWMongoose : public RGWClientIO
+{
+ mg_connection *conn;
+
+ bufferlist header_data;
+
+ bool sent_header;
+
+protected:
+ void init_env(CephContext *cct);
+
+ 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_100_continue();
+ int complete_header();
+
+public:
+ RGWMongoose(mg_connection *_conn);
+ void flush();
+};
+
+
+#endif