summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_rest_swift.h
diff options
context:
space:
mode:
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>2016-09-18 20:01:02 +0200
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>2017-04-24 17:32:14 +0200
commit5e7dd8eccc103b50ccaf13f1959547412ddd9902 (patch)
tree2d0d688af6511ad190e935686256f46c7f09bc80 /src/rgw/rgw_rest_swift.h
parentrgw: make parse_boundary_params() static method of RGWPostObj_ObjStore. (diff)
downloadceph-5e7dd8eccc103b50ccaf13f1959547412ddd9902.tar.xz
ceph-5e7dd8eccc103b50ccaf13f1959547412ddd9902.zip
rgw: add an early, initial implementation of the Swift's FormPost middleware.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
Diffstat (limited to 'src/rgw/rgw_rest_swift.h')
-rw-r--r--src/rgw/rgw_rest_swift.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/rgw/rgw_rest_swift.h b/src/rgw/rgw_rest_swift.h
index 8478b1bad7b..26524af3032 100644
--- a/src/rgw/rgw_rest_swift.h
+++ b/src/rgw/rgw_rest_swift.h
@@ -238,6 +238,26 @@ public:
};
+class RGWFormPost : public RGWPostObj_ObjStore {
+ std::string get_current_filename() const override;
+ bool is_next_file_to_upload() override;
+
+ boost::optional<post_form_part> current_data_part;
+
+ bool stream_done = false;
+
+public:
+ RGWFormPost() = default;
+ ~RGWFormPost() = default;
+
+ int get_params() override;
+ int get_data(ceph::bufferlist& bl) override;
+ void send_response() override;
+
+ static bool is_formpost_req(req_state* const s);
+};
+
+
class RGWSwiftWebsiteHandler {
RGWRados* const store;
req_state* const s;