]> git.proxmox.com Git - ceph.git/blob - ceph/src/rgw/rgw_rest_bucket.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / rgw / rgw_rest_bucket.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab ft=cpp
3
4 #pragma once
5
6 #include "rgw_rest.h"
7 #include "rgw_rest_s3.h"
8
9
10 class RGWHandler_Bucket : public RGWHandler_Auth_S3 {
11 protected:
12 RGWOp *op_get() override;
13 RGWOp *op_put() override;
14 RGWOp *op_post() override;
15 RGWOp *op_delete() override;
16 public:
17 using RGWHandler_Auth_S3::RGWHandler_Auth_S3;
18 ~RGWHandler_Bucket() override = default;
19
20 int read_permissions(RGWOp*, optional_yield y) override {
21 return 0;
22 }
23 };
24
25 class RGWRESTMgr_Bucket : public RGWRESTMgr {
26 public:
27 RGWRESTMgr_Bucket() = default;
28 ~RGWRESTMgr_Bucket() override = default;
29
30 RGWHandler_REST* get_handler(rgw::sal::RGWRadosStore *store,
31 struct req_state*,
32 const rgw::auth::StrategyRegistry& auth_registry,
33 const std::string&) override {
34 return new RGWHandler_Bucket(auth_registry);
35 }
36 };