sfun commited on
Commit
b888e7d
·
verified ·
1 Parent(s): 9b85d7b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -21
app.py CHANGED
@@ -80,12 +80,12 @@ async def extract_and_transform_proxies(input_text):
80
  async def log_request(request, response, cache_status):
81
  timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
82
  client_ip = request.remote
83
- user_agent = request.headers.get('User-Agent', 'Unknown')
84
  request_line = f"{request.method} {request.path}"
85
  if request.query_string:
86
  request_line += f"?{request.query_string}"
87
  status_code = response.status
88
  content_length = response.content_length
 
89
 
90
  log_message = (
91
  f"{timestamp} - {client_ip} - \"{request_line}\" {status_code} {content_length} - "
@@ -95,20 +95,9 @@ async def log_request(request, response, cache_status):
95
 
96
  @web.middleware
97
  async def logging_middleware(request, handler):
98
- start_time = datetime.datetime.now()
99
- try:
100
- response, cache_status = await handler(request)
101
- await log_request(request, response, cache_status)
102
- end_time = datetime.datetime.now()
103
- print(f"Request processing time: {end_time - start_time}", flush=True)
104
- return response
105
- except Exception as e:
106
- end_time = datetime.datetime.now()
107
- print(f"Error occurred: {str(e)}", flush=True)
108
- print(f"Request processing time: {end_time - start_time}", flush=True)
109
- print("Traceback:", flush=True)
110
- traceback.print_exc()
111
- return web.Response(text=f"Internal Server Error: {str(e)}", status=500)
112
 
113
  async def handle_request(request):
114
  if request.path == '/':
@@ -118,24 +107,18 @@ async def handle_request(request):
118
  force_refresh = 'nocache' in query_params
119
 
120
  if not force_refresh and url in cache:
121
- print(f"Cache hit for URL: {url}", flush=True)
122
  return web.Response(text=cache[url], content_type='text/plain'), "Hit"
123
 
124
  try:
125
- print(f"Fetching URL: {url}", flush=True)
126
  async with aiohttp.ClientSession() as session:
127
  input_text = await fetch_url(url, session)
128
- print(f"URL content length: {len(input_text)}", flush=True)
129
  result = await extract_and_transform_proxies(input_text)
130
- print(f"Transformed result length: {len(result)}", flush=True)
131
 
132
  # 将结果存入缓存
133
  cache[url] = result
134
 
135
  return web.Response(text=result, content_type='text/plain'), "Miss"
136
  except Exception as e:
137
- print(f"Error processing request: {str(e)}", flush=True)
138
- traceback.print_exc()
139
  return web.Response(text=f"Error: {str(e)}", status=500), "Error"
140
  else:
141
  usage_guide = """
 
80
  async def log_request(request, response, cache_status):
81
  timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
82
  client_ip = request.remote
 
83
  request_line = f"{request.method} {request.path}"
84
  if request.query_string:
85
  request_line += f"?{request.query_string}"
86
  status_code = response.status
87
  content_length = response.content_length
88
+ user_agent = request.headers.get('User-Agent', 'Unknown')
89
 
90
  log_message = (
91
  f"{timestamp} - {client_ip} - \"{request_line}\" {status_code} {content_length} - "
 
95
 
96
  @web.middleware
97
  async def logging_middleware(request, handler):
98
+ response, cache_status = await handler(request)
99
+ await log_request(request, response, cache_status)
100
+ return response
 
 
 
 
 
 
 
 
 
 
 
101
 
102
  async def handle_request(request):
103
  if request.path == '/':
 
107
  force_refresh = 'nocache' in query_params
108
 
109
  if not force_refresh and url in cache:
 
110
  return web.Response(text=cache[url], content_type='text/plain'), "Hit"
111
 
112
  try:
 
113
  async with aiohttp.ClientSession() as session:
114
  input_text = await fetch_url(url, session)
 
115
  result = await extract_and_transform_proxies(input_text)
 
116
 
117
  # 将结果存入缓存
118
  cache[url] = result
119
 
120
  return web.Response(text=result, content_type='text/plain'), "Miss"
121
  except Exception as e:
 
 
122
  return web.Response(text=f"Error: {str(e)}", status=500), "Error"
123
  else:
124
  usage_guide = """