def POST(self, env): """Handle posts dealing with metadata alteration""" req = Request(env) conn = HTTPConnection('%s:%s' % (self.mds_ip, self.mds_port)) headers = req.params version, acc, con, obj = split_path(req.path, 1, 4, True) if not con: try: info = get_account_info(env, self.app) if info: stor_policy = info['storage_policy'] headers['storage_policy'] = stor_policy except: pass else: try: info = get_container_info(env, self.app) if info: stor_policy = info['storage_policy'] headers['storage_policy'] = stor_policy except: pass conn.request('POST', req.path, headers=headers) resp = conn.getresponse() #confirm response then pass along the request return self.app
def GET(self, req): """Handle the query request.""" conn = HTTPConnection('%s:%s' % (self.mds_ip, self.mds_port)) headers = req.params conn.request('GET', req.path, headers=headers) resp = conn.getresponse() return Response(request=req, body=resp.read(), content_type=resp.getheader('Content-Type'))
def COPY(self, env): """Eliminate metadata for deleted objects""" req = Request(env) conn = HTTPConnection('%s:%s' % (self.mds_ip, self.mds_port)) headers = req.params conn.request('COPY', req.path, headers=headers) resp = conn.getresponse() #confirm response then pass along the request return self.app
def sendData(self, metaList, data_type, server_ip, server_port): ip = server_ip port = server_port updatedData = json.dumps(metaList) headers = {'user-agent': data_type} with ConnectionTimeout(self.conn_timeout): try: conn = HTTPConnection('%s:%s' % (ip, port)) conn.request('PUT', '/', headers=headers, body=updatedData) resp = conn.getresponse() return resp except (Exception, Timeout): return HTTP_INTERNAL_SERVER_ERROR
def PUT(self, env): """Handle PUT requests related to metadata""" req = Request(env) conn = HTTPConnection('%s:%s' % (self.mds_ip, self.mds_port)) headers = req.params try: info = get_container_info(env, self.app) if info: stor_policy = info['storage_policy'] headers['storage_policy'] = stor_policy except: pass conn.request('PUT', req.path, headers=headers) resp = conn.getresponse() return self.app