return s->gen_prefix(out) << s->dialect << ':' << name() << ' ';
}
+void RGWDefaultResponseOp::send_response() {
+ if (op_ret) {
+ set_req_state_err(s, op_ret);
+ }
+ dump_errno(s);
+ end_header(s);
+}
+
void RGWPutBucketPolicy::send_response()
{
if (op_ret) {
unsigned get_subsys() const override { return ceph_subsys_rgw; }
};
+class RGWDefaultResponseOp : public RGWOp {
+public:
+ void send_response() override;
+};
+
class RGWGetObj_Filter : public RGWGetDataCB
{
protected:
#define dout_context g_ceph_context
#define dout_subsys ceph_subsys_rgw
-
-class RGWPSCreateTopicOp : public RGWOp {
+class RGWPSCreateTopicOp : public RGWDefaultResponseOp {
protected:
std::unique_ptr<RGWUserPubSub> ups;
string topic_name;
}
};
-class RGWPSDeleteTopicOp : public RGWOp {
+class RGWPSDeleteTopicOp : public RGWDefaultResponseOp {
protected:
string topic_name;
std::unique_ptr<RGWUserPubSub> ups;
};
-class RGWPSCreateSubOp : public RGWOp {
+class RGWPSCreateSubOp : public RGWDefaultResponseOp {
protected:
string sub_name;
string topic_name;
}
};
-class RGWPSDeleteSubOp : public RGWOp {
+class RGWPSDeleteSubOp : public RGWDefaultResponseOp {
protected:
string sub_name;
string topic_name;
}
};
-class RGWPSAckSubEventOp : public RGWOp {
+class RGWPSAckSubEventOp : public RGWDefaultResponseOp {
protected:
string sub_name;
string event_id;
return 0;
}
-class RGWPSCreateNotifOp : public RGWOp {
+class RGWPSCreateNotifOp : public RGWDefaultResponseOp {
protected:
std::unique_ptr<RGWUserPubSub> ups;
string topic_name;
}
};
-class RGWPSDeleteNotifOp : public RGWOp {
+class RGWPSDeleteNotifOp : public RGWDefaultResponseOp {
protected:
std::unique_ptr<RGWUserPubSub> ups;
string topic_name;