当前位置: 首页>>代码示例>>Python>>正文


Python Request.headers['X-Auth-User']方法代码示例

本文整理汇总了Python中webob.Request.headers['X-Auth-User']方法的典型用法代码示例。如果您正苦于以下问题:Python Request.headers['X-Auth-User']方法的具体用法?Python Request.headers['X-Auth-User']怎么用?Python Request.headers['X-Auth-User']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在webob.Request的用法示例。


在下文中一共展示了Request.headers['X-Auth-User']方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __call__

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import headers['X-Auth-User'] [as 别名]
    def __call__(self,environ,start_response):
        '''
        controller here to parse user's http request
        '''
        
        
        #use webob to pack the environment value
        req = Request(environ)
        res = Response()
           
        #here we set a flag value
        #flag == HTTPOk: operation success
        #flag != HTTPOk: operation failed 
        req.headers['http-flag'] = HTTPOk
        #here content type includes scloud-object, scloud-domain, scloud-container, scloud-capability
        #later we may add scloud-queue type
        self.content_type = req.headers.get('Content-Type', '')
        #DomainName.scloud.ecust.com
        self.host = req.headers.get('Host', '')
        self.cdmi_version = req.headers.get('X-CDMI-Specification-Version', '')
        self.authorization = req.headers.get('Authorization', '')
        self.date = req.headers.get('Date', '')
        self.path = req.path
 
        #Make sure req.headers not ""
        if not (self.content_type and self.host and self.cdmi_version and self.date and self.authorization):
            req.headers['http-flag'] = HTTPBadRequest
            return self.app(environ,start_response)
        
        #Set X-Auth-User and X-Auth-Key
        req.headers['X-Auth-User'], req.headers['X-Auth-Key'] = self.authorization.strip().split(':')
        #make sure X-Auth-User and X-Auth-Key not ""
        if not (req.headers['X-Auth-User'] and req.headers['X-Auth-Key']):
            req.headers['http-flag'] = HTTPBadRequest
            return self.app(environ,start_response)
            
        #Make sure content-type is legal
        if self.content_type not in ['scloud-domain', 'scloud-container', 'scloud-object', 'scloud-capability', 'scloud-queue']:
            req.headers['http-flag'] = HTTPBadRequest
            return self.app(environ,start_response)
            
        
        url_path = req.path.strip('/').split('/')
        
        req.headers['url_pattern'] = url_path[0]
        
        if url_path[0]=='scloud_domain':
            req.headers['domain'] = url_path[1]
            
            return self.app(environ,start_response)
        
        elif url_path[0] == 'scloud_container':
            req.headers['domain'] = url_path[1]
            req.headers['container'] = url_path[2:]
            
            return self.app(environ,start_response)
        
        elif url_path[0] == 'scloud_object':
            req.headers['domain'] = url_path[1]
            req.headers['container'] = url_path[2:-1]
            req.headers['object'] = url_path[-1]
            
            return self.app(environ,start_response)
        
        elif url_path[0] == 'scloud_user':
            req.headers['domain'] = url_path[1]
            req.headers['container'] = url_path[2:-1]
            req.headers['object'] = url_path[-1]
            
            return self.app(environ,start_response)
            
        else:
            start_response("403 AccessDenied",[("Content-type", "text/plain"),
                                         ])
            return ''
开发者ID:adrianzjp,项目名称:EcustCloudStorage,代码行数:77,代码来源:controller.py


注:本文中的webob.Request.headers['X-Auth-User']方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。