RGW处理请求中获取handler过程
来源:互联网 发布:艺龙旅行java项目视频 编辑:程序博客网 时间:2024/05/10 15:54
RGW 创建处理请求的handler
在src/rgw/rgw_main.cc源文件中的process_request()函数中有一个很重要的操作,就是Handler的获取,handler是manager中注册用来处理请求,很重要的一个对象:
获取Handler
RGWHandler *handler = rest->get_handler(store, s, client_io, &mgr, &init_error);
Method:
RGWHandler *RGWREST::get_handler(RGWRados *store, struct req_state *s, RGWClientIO *cio, RGWRESTMgr **pmgr, int *init_error){ RGWHandler *handler;//对请求做预处理,主要是格式化一下请求信息 *init_error = preprocess(s, cio); if (*init_error < 0) return NULL;//根据请求的endpoint来选择相应的manager,默认是s3的manager RGWRESTMgr *m = mgr.get_resource_mgr(s, s->decoded_uri, &s->relative_uri); if (!m) { *init_error = -ERR_METHOD_NOT_ALLOWED; return NULL; } if (pmgr) *pmgr = m;//从得到的manager中选择handler,主要是从请求的url中得到handler选择的依据。 handler = m->get_handler(s); if (!handler) { *init_error = -ERR_METHOD_NOT_ALLOWED; return NULL; } //检验bucket、object名字是否规范,和获取其他一些请求参数。 *init_error = handler->init(store, s, cio); if (*init_error < 0) { m->put_handler(handler); return NULL; } return handler;}
1 0
- RGW处理请求中获取handler过程
- CEPH RGW处理请求过程
- RGW中的请求的认证过程
- Javascript escape 解决 Jquery Ajax 异步请求 URL中文传参乱码问题 一般处理程序Handler获取参数
- Nginx中http请求的处理过程
- RCP handler处理函数中获取当前选择项。
- springmvc-6,handler请求入参到handler中
- RPC请求处理过程
- NFS请求处理过程
- Tomcat处理请求过程
- RPC请求处理过程
- tomcat 处理请求过程
- Django 请求处理过程
- Tomcat请求处理过程
- Django请求处理过程
- struts1.1中ActionServlet对http请求的处理过程
- 文章18 :Nginx中http请求的处理过程
- jquery中ajax请求过程显示正在处理的图片
- mysql 测试sql执行时间
- 贪吃蛇简单小游戏
- C-1.基础知识
- 开篇
- EJB3.0 注释
- RGW处理请求中获取handler过程
- SQL竞锁机制 NOLOCK和ROWLOCK的秘密
- 没有痛苦,就会快乐么? ———观《赐予者》有感
- android studio初次启动时报java.lang.RuntimeException: java.lang.IllegalArgumentException的错误
- PowerManager和PowerManager.WakeLock的用法
- 并查集
- LeetCode Find Median from Data Stream 堆
- iOS中程序加载顺序以及加载storyboard并获取对应的类
- 写给MongoDB开发者的50条建议