Skip to content

Commit 1913c0e

Browse files
committed
update record hooks
1 parent 160bc8b commit 1913c0e

3 files changed

Lines changed: 45 additions & 15 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
VERSION = (0, 6, 1)
1+
VERSION = (0, 7, 4)
22

33
__version__ = '.'.join(map(str, VERSION))

acedatacloud_scaffold/handlers/base.py

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,23 +52,42 @@ def write_error_sync(self, status_code, **kwargs):
5252
self.logger.debug(f'write error {data}')
5353
self.finish()
5454

55+
def get_record_application_id(self):
56+
return self.application_id
57+
58+
def get_record_trace_id(self):
59+
return self.trace_id
60+
61+
def get_record_api_id(self):
62+
return self.api_id
63+
64+
def get_record_task_id(self):
65+
return self.task_id
66+
67+
def get_record_request(self):
68+
return {
69+
'body': self.request.body.decode('utf-8'),
70+
'json': json.loads(self.request.body),
71+
'headers': dict(self.request.headers),
72+
'method': self.request.method,
73+
}
74+
75+
def get_record_response(self):
76+
return {
77+
'status': self.get_status(),
78+
}
79+
5580
@logger.catch
56-
def record(self, data, extra_data={}):
81+
def record(self, extra_data={}):
5782
record_server_url = RECORD_SERVER_URL
5883
self.logger.debug(f'record url {record_server_url}')
5984
data = {
60-
'status': data.get('status'),
61-
'trace_id': self.trace_id,
62-
'application_id': self.application_id,
63-
'metadata': {
64-
'task_id': self.task_id,
65-
},
66-
'request': {
67-
'body': self.request.body.decode('utf-8'),
68-
'json': json.loads(self.request.body),
69-
'query': self.request.query_arguments,
70-
'headers': dict(self.request.headers),
71-
}
85+
'trace_id': self.get_record_trace_id(),
86+
'application_id': self.get_record_application_id(),
87+
'api_id': self.get_record_api_id(),
88+
'task_id': self.get_record_task_id(),
89+
'request': self.get_record_request(),
90+
'response': self.get_record_response()
7291
}
7392
data.update(extra_data)
7493
logger.debug(f'{self.trace_id} record data {data}')
@@ -81,6 +100,12 @@ def initialize_trace_id(self):
81100
'utf-8') if trace_id and len(trace_id) > 0 else str(uuid4())
82101
logger.debug(f'trace id {self.trace_id}')
83102

103+
def initialize_api_id(self):
104+
api_id = self.request.query_arguments.get('api_id')
105+
self.api_id = api_id[0].decode(
106+
'utf-8') if api_id and len(api_id) > 0 else None
107+
logger.debug(f'api id {self.api_id}')
108+
84109
def initialize_application_id(self):
85110
application_id = self.request.query_arguments.get('application_id')
86111
self.application_id = application_id[0].decode(
@@ -95,3 +120,4 @@ def initialize(self):
95120
self.initialize_trace_id()
96121
self.initialize_task_id()
97122
self.initialize_application_id()
123+
self.initialize_api_id()

acedatacloud_scaffold/mixins/forward.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ async def get_forward_response_status(self):
2323
return self.forward_response.status_code \
2424
if hasattr(self, 'forward_response') else None
2525

26+
async def get_forward_request_params(self):
27+
return None
28+
2629
async def get_forward_response_headers(self):
2730
return self.forward_response.headers \
2831
if hasattr(self, 'forward_response') else None
@@ -54,6 +57,7 @@ async def write_response_headers(self):
5457
self.set_header(header, value)
5558

5659
async def forward(self):
60+
self.logger.debug('start to forward request')
5761
# forward info for building forward request
5862
forward_timeout = await self.get_forward_request_timeout()
5963
forward_url = await self.get_forward_request_url()
@@ -64,7 +68,7 @@ async def forward(self):
6468

6569
async with httpx.AsyncClient(timeout=forward_timeout) as client:
6670
self.logger.debug(
67-
f'forward_url {forward_url} forward_headers {forward_headers} forward_body {forward_body}')
71+
f'forward_url {forward_url} forward_headers {forward_headers} forward_body {forward_body} forward_params {forward_params}')
6872
async with client.stream(
6973
forward_method,
7074
forward_url,

0 commit comments

Comments
 (0)