Skip to content

Commit

Permalink
#187408929 Add: Support for the governance rule (#23)
Browse files Browse the repository at this point in the history
* Add: Support for the governance rule

Add: Support for the governance rule
Refactor: Bump moesifapi-python to version 1.4.5
Refactor: Use config, batching, & common features from the base library
Bump version to 1.0.0

Refactor: Event batch timeout config to 1 second
  • Loading branch information
keyur9 authored Apr 15, 2024
1 parent ab20fbe commit eca5d90
Show file tree
Hide file tree
Showing 9 changed files with 189 additions and 505 deletions.
62 changes: 0 additions & 62 deletions moesifasgi/app_config.py

This file was deleted.

20 changes: 10 additions & 10 deletions moesifasgi/event_mapper.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
from moesifapi.models import *
from .parse_body import ParseBody
from moesifapi.parse_body import ParseBody
from .logger_helper import LoggerHelper
from .client_ip import ClientIp
from datetime import datetime
import uuid


Expand All @@ -13,14 +12,15 @@ def __init__(self):
self.client_ip = ClientIp()
self.transaction_id = None

async def to_event(self, request, response, event_req, event_rsp, moesif_settings, debug):
async def to_event(self, event_req, event_rsp, user_id, company_id, session_token, metadata, blocked_by):
return EventModel(request=event_req,
response=event_rsp,
user_id=await self.logger_helper.get_user_id(moesif_settings, request, response, dict(request.headers), debug),
company_id=await self.logger_helper.get_company_id(moesif_settings, request, response, debug),
session_token=await self.logger_helper.get_session_token(moesif_settings, request, response, debug),
metadata=await self.logger_helper.get_metadata(moesif_settings, request, response, debug),
direction="Incoming")
user_id=user_id,
company_id=company_id,
session_token=session_token,
metadata=metadata,
direction="Incoming",
blocked_by=blocked_by)

def to_request(self, request, request_time, request_body, api_version, disable_capture_transaction_id, debug=False):
# Request URI
Expand All @@ -46,7 +46,7 @@ def to_request(self, request, request_time, request_body, api_version, disable_c
req_body = None
req_transfer_encoding = None
if request_body:
req_body, req_transfer_encoding = self.parse_body.parse_bytes_body(request_body, request_headers)
req_body, req_transfer_encoding = self.parse_body.parse_bytes_body(request_body, None, request_headers)

return EventRequestModel(time=request_time,
uri=request_uri,
Expand Down Expand Up @@ -74,7 +74,7 @@ def to_response(self, response, response_time, response_body):
except Exception as e:
rsp_body = str(response_body)

rsp_body, rsp_transfer_encoding = self.parse_body.parse_bytes_body(rsp_body, response_headers)
rsp_body, rsp_transfer_encoding = self.parse_body.parse_bytes_body(rsp_body, None, response_headers)

return EventResponseModel(time=response_time,
status=response_status,
Expand Down
8 changes: 8 additions & 0 deletions moesifasgi/logger_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import json
import base64
import logging
import re

logger = logging.getLogger(__name__)

Expand All @@ -10,6 +11,13 @@ class LoggerHelper:

def __init__(self):
pass
@classmethod
def sanitize_header_value(cls, value):
# Remove any non-printable characters
value = re.sub(r'[^\x20-\x7E]', '', value)
# Replace any spaces with underscores
value = value.replace(' ', '_')
return value

@classmethod
def transform_token(cls, token):
Expand Down
Loading

0 comments on commit eca5d90

Please sign in to comment.