def fetch(self, environ, params): try: req = Controller().getRequest() b = BlobFactory.get(params['bid'], params['release']) if not b: output.error('blob not found', 404) resp = Controller().getResponse() resp.headers['Content-Type'] = b.content_type resp.body = b.read() except Error: pass return Controller().getResponse(True)
def get(self, environ, params): try: req = Controller().getRequest() blobId = BlobFactory.getBlobIds(user=params["uid"], release="published", type="avatar") if not len(blobId): output.error("avatar not found", 404) blobId = blobId.pop() b = BlobFactory.get(blobId, "published") resp = Controller().getResponse() resp.headers["Content-Type"] = b.content_type resp.body = b.read() except Error: pass return Controller().getResponse(True)
def zebuit(self, environ, params): try: req = Controller().getRequest() wildResponse = Controller().getResponse() reqData = None _fileReadable = hasattr(req.body_file, 'read') _bodyLength = int(req.headers['Content-Length'] or 0) if req.method == 'POST' and _fileReadable and _bodyLength > 0: reqData = req.body sendHeaders = {} for (k, v) in req.headers.items(): if not v: continue if k.lower() in ['accept-encoding', 'keep-alive', 'content-length', 'transfer-encoding']: continue if '_' in k: continue sendHeaders[k] = v if req.method.lower() == 'get': data = None else: data = {} try: resp = requests.request(req.method, '%s%s' % ( 'http://localhost:8082', req.path_qs ), headers=sendHeaders, data=data, stream=False) except: output.error('Auth Backend fail', 503) if int(resp.status_code / 100) != 2: for (k, v) in resp.headers.items(): wildResponse.headers[k.lower()] = v if 'X-Requested-With' in req.headers and 'www-authenticate' in wildResponse.headers: wildResponse.headers['X-WWW-Authenticate'] = wildResponse.headers['www-authenticate'] del wildResponse.headers['www-authenticate'] output.success(resp.json(), resp.status_code) raise Error('break') for (k, v) in resp.headers.items(): if 'x-lxxl' in k.lower(): sendHeaders[k] = v try: resp = requests.request(req.method, '%s%s' % ( 'http://localhost:8083', req.path_qs ), headers=sendHeaders, data=reqData, stream=False) except: output.error('Graph backend fail', 503) for (k, v) in resp.headers.items(): wildResponse.headers[k] = v wildResponse = Controller().getResponse() wildResponse.body = resp.content wildResponse.status = resp.status_code except Error: pass return Controller().getResponse(True)