return r;
}
-
-
-class RGWPutObjEncryptFilter : public RGWPutObjDataProcessor
-{
-protected:
- RGWPutObjDataProcessor& next;
-public:
- RGWPutObjEncryptFilter(RGWPutObjDataProcessor& next) :
- next(next){}
- virtual ~RGWPutObjEncryptFilter(){}
- virtual int handle_data(bufferlist& bl, off_t ofs, void **phandle, bool *again) {
- return next.handle_data(bl, ofs, phandle, again);
- }
- virtual int throttle_data(void *handle, bool need_to_wait) {
- return next.throttle_data(handle, need_to_wait);
- }
-}; /* RGWPutObjEncryptFilter */
-
-
RGWPutObjProcessor *RGWPutObj::select_processor(RGWObjectCtx& obj_ctx, bool *is_multipart)
{
RGWPutObjProcessor *processor;
virtual uint32_t op_mask() { return RGW_OP_TYPE_WRITE; }
};
+class RGWPutObj_Filter : public RGWPutObjDataProcessor
+{
+protected:
+ RGWPutObjDataProcessor& next;
+public:
+ RGWPutObj_Filter(RGWPutObjDataProcessor& next) :
+ next(next){}
+ virtual ~RGWPutObj_Filter(){}
+ virtual int handle_data(bufferlist& bl, off_t ofs, void **phandle, bool *again) {
+ return next.handle_data(bl, ofs, phandle, again);
+ }
+ virtual int throttle_data(void *handle, bool need_to_wait) {
+ return next.throttle_data(handle, need_to_wait);
+ }
+}; /* RGWPutObj_Filter */
+
class RGWPostObj : public RGWOp {
protected:
off_t min_len;