def send(self,apiurl,reqdata,secret): """ send radius request :param apiurl: oss server api :param reqdata: json data """ try: if self.config.defaults.debug: log.msg("[HttpClient] ::::::: Send http request to {0}, {1}".format(safestr(apiurl),safestr(reqdata))) headers = {"Content-Type": ["application/json;charset=utf-8"]} resp = yield requests.post(safestr(apiurl), data=reqdata, headers=headers) resp_json = yield resp.json() if self.config.defaults.debug: log.msg("[HttpClient] ::::::: Received http response from {0}, {1}".format(safestr(apiurl), safestr(resp_json))) if resp.code != 200: defer.returnValue(dict(code=1, msg=u'server return error http status code {0}'.format(resp.code))) else: result = resp_json if not self.check_sign(secret, result): defer.returnValue(dict(code=1, msg=u"sign error")) else: defer.returnValue(result) except Exception as err: import traceback traceback.print_exc() defer.returnValue(dict(code=1, msg=u'server error'))
def logger(self, nasaddr=None, content=None, level='info'): """ send logger to logserver :param nasaddr: :param content: """ nas = yield self.redb.get_nas(nasaddr) apiurl = nas and nas.get("api_logger_url") or self.config.defaults.get("log_server") if apiurl: if self.config.defaults.debug: log.msg("[HttpClient] ::::::: Send log Request to {0}, {1}".format(safestr(apiurl), safestr(content))) content = safestr(content) nonce = str(time.time()) _datetime = get_currtime() sign = self.make_sign([nasaddr, content, _datetime, nonce], nas.get("api_secret")) reqdata = json.dumps(dict( nasaddr=nasaddr, content=content, datetime=_datetime, nonce=nonce, sign=sign ), ensure_ascii=False) headers = {"Content-Type": ["text/plain;charset=utf-8"]} resp = yield requests.post(safestr(apiurl), data=reqdata, headers=headers) log.msg("[HttpClient] ::::::: Received Resp {0}, Send log done".format(resp.code)) else: log.msg("[HttpClient] ::::::: Not send, {0}".format(safestr(content)))
def send(self, apiurl, reqdata, secret): """ send radius request :param apiurl: oss server api :param reqdata: json data """ try: if self.config.defaults.debug: log.msg("[HttpClient] ::::::: Send http request to {0}, {1}". format(safestr(apiurl), safestr(reqdata))) headers = {"Content-Type": ["application/json;charset=utf-8"]} resp = yield requests.post(safestr(apiurl), data=reqdata, headers=headers) resp_json = yield resp.json() if self.config.defaults.debug: log.msg( "[HttpClient] ::::::: Received http response from {0}, {1}" .format(safestr(apiurl), safestr(resp_json))) if resp.code != 200: defer.returnValue( dict( code=1, msg=u'server return error http status code {0}'.format( resp.code))) else: result = resp_json if not self.check_sign(secret, result): defer.returnValue(dict(code=1, msg=u"sign error")) else: defer.returnValue(result) except Exception as err: import traceback traceback.print_exc() defer.returnValue(dict(code=1, msg=u'server error'))
def logger(self, nasaddr=None, content=None, level='info'): """ send logger to logserver :param nasaddr: :param content: """ nas = yield self.redb.get_nas(nasaddr) apiurl = nas and nas.get("api_logger_url") or self.config.defaults.get( "log_server") if apiurl: if self.config.defaults.debug: log.msg( "[HttpClient] ::::::: Send log Request to {0}, {1}".format( safestr(apiurl), safestr(content))) content = safestr(content) nonce = str(time.time()) _datetime = get_currtime() sign = self.make_sign([nasaddr, content, _datetime, nonce], nas.get("api_secret")) reqdata = json.dumps(dict(nasaddr=nasaddr, content=content, datetime=_datetime, nonce=nonce, sign=sign), ensure_ascii=False) headers = {"Content-Type": ["text/plain;charset=utf-8"]} resp = yield requests.post(safestr(apiurl), data=reqdata, headers=headers) log.msg( "[HttpClient] ::::::: Received Resp {0}, Send log done".format( resp.code)) else: log.msg("[HttpClient] ::::::: Not send, {0}".format( safestr(content)))