mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
librgw: pull RGWUserinfo user into RGWLibRequest
Also, return result from process_request(req, io) to caller. Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
This commit is contained in:
parent
7e21e2386d
commit
ec96809cd0
@ -150,6 +150,7 @@ int RGWLibProcess::process_request(RGWLibRequest* req)
|
||||
/* we don't really care about return code */
|
||||
dout(20) << "process_request() returned " << ret << dendl;
|
||||
}
|
||||
return ret;
|
||||
} /* process_request */
|
||||
|
||||
static inline void abort_req(struct req_state *s, RGWOp *op, int err_no)
|
||||
@ -200,10 +201,8 @@ int RGWLibProcess::process_request(RGWLibRequest* req, RGWLibIO* io)
|
||||
*/
|
||||
rgw_env.set("HTTP_HOST", "10.1.1.220" /* XXXX: fix me */);
|
||||
|
||||
RGWUserInfo userinfo;
|
||||
|
||||
/* XXX and -then- bloat up req_state with string copies from it */
|
||||
struct req_state rstate(req->cct, &rgw_env, &userinfo);
|
||||
struct req_state rstate(req->cct, &rgw_env, req->get_user());
|
||||
struct req_state *s = &rstate;
|
||||
|
||||
// XXX fix this
|
||||
|
@ -60,14 +60,13 @@ class RGWListBucketsRequest : public RGWLibRequest,
|
||||
public RGWListBuckets_ObjStore_Lib /* RGWOp */
|
||||
{
|
||||
public:
|
||||
RGWUserInfo* user;
|
||||
uint64_t* offset;
|
||||
void* cb_arg;
|
||||
rgw_readdir_cb rcb;
|
||||
|
||||
RGWListBucketsRequest(CephContext* _cct, RGWUserInfo *_user,
|
||||
rgw_readdir_cb _rcb, void* _cb_arg, uint64_t* _offset)
|
||||
: RGWLibRequest(_cct), user(_user), offset(_offset), cb_arg(_cb_arg),
|
||||
: RGWLibRequest(_cct, _user), offset(_offset), cb_arg(_cb_arg),
|
||||
rcb(_rcb) {
|
||||
magic = 71;
|
||||
op = this;
|
||||
@ -119,7 +118,6 @@ class RGWListBucketRequest : public RGWLibRequest,
|
||||
public RGWListBucket_ObjStore_Lib /* RGWOp */
|
||||
{
|
||||
public:
|
||||
RGWUserInfo* user;
|
||||
std::string& uri;
|
||||
uint64_t* offset;
|
||||
void* cb_arg;
|
||||
@ -127,7 +125,7 @@ public:
|
||||
|
||||
RGWListBucketRequest(CephContext* _cct, RGWUserInfo *_user, std::string& _uri,
|
||||
rgw_readdir_cb _rcb, void* _cb_arg, uint64_t* _offset)
|
||||
: RGWLibRequest(_cct), user(_user), uri(_uri), offset(_offset),
|
||||
: RGWLibRequest(_cct, _user), uri(_uri), offset(_offset),
|
||||
cb_arg(_cb_arg),
|
||||
rcb(_rcb) {
|
||||
magic = 72;
|
||||
|
@ -110,10 +110,12 @@ public:
|
||||
/* unambiguiously return req_state */
|
||||
inline struct req_state* get_state() { return this->RGWRequest::s; }
|
||||
|
||||
RGWLibRequest(CephContext* _cct)
|
||||
: RGWRequest(0), cct(_cct), user(nullptr)
|
||||
RGWLibRequest(CephContext* _cct, RGWUserInfo* _user)
|
||||
: RGWRequest(0), cct(_cct), user(_user)
|
||||
{}
|
||||
|
||||
RGWUserInfo* get_user() { return user; }
|
||||
|
||||
/* descendant equivalent of *REST*::init_from_header(...):
|
||||
* prepare request for execute()--should mean, fixup URI-alikes
|
||||
* and any other expected stat vars in local req_state, for
|
||||
|
Loading…
Reference in New Issue
Block a user