Chrunos commited on
Commit
7b39c90
·
verified ·
1 Parent(s): 3b99235

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -3
app.py CHANGED
@@ -124,6 +124,7 @@ async def get_video_url(youtube_url: str):
124
  global_download_dir = tempfile.mkdtemp()
125
 
126
 
 
127
  class RateLimiter:
128
  def __init__(self, max_requests: int, time_window: timedelta):
129
  self.max_requests = max_requests
@@ -142,13 +143,20 @@ class RateLimiter:
142
  """Check if the user has exceeded their rate limit."""
143
  self._cleanup_old_requests(user_ip)
144
 
145
- # Add current request
 
 
 
146
  current_time = time.time()
147
  self.requests[user_ip].append(current_time)
148
 
149
  # Check if user has exceeded the maximum requests
150
- return len(self.requests[user_ip]) > self.max_requests
151
-
 
 
 
 
152
 
153
 
154
  # Initialize rate limiter with 100 requests per day
@@ -164,6 +172,7 @@ def get_user_ip(request: Request) -> str:
164
  return forwarded.split(",")[0]
165
  return request.client.host
166
 
 
167
  @app.post("/maxs")
168
  async def download_high_quality_video(request: Request):
169
  user_ip = get_user_ip(request)
 
124
  global_download_dir = tempfile.mkdtemp()
125
 
126
 
127
+
128
  class RateLimiter:
129
  def __init__(self, max_requests: int, time_window: timedelta):
130
  self.max_requests = max_requests
 
143
  """Check if the user has exceeded their rate limit."""
144
  self._cleanup_old_requests(user_ip)
145
 
146
+ # Get current count after cleanup
147
+ current_count = len(self.requests[user_ip])
148
+
149
+ # Add current request timestamp (incrementing the count)
150
  current_time = time.time()
151
  self.requests[user_ip].append(current_time)
152
 
153
  # Check if user has exceeded the maximum requests
154
+ return (current_count + 1) > self.max_requests
155
+
156
+ def get_current_count(self, user_ip: str) -> int:
157
+ """Get the current request count for an IP."""
158
+ self._cleanup_old_requests(user_ip)
159
+ return len(self.requests[user_ip])
160
 
161
 
162
  # Initialize rate limiter with 100 requests per day
 
172
  return forwarded.split(",")[0]
173
  return request.client.host
174
 
175
+
176
  @app.post("/maxs")
177
  async def download_high_quality_video(request: Request):
178
  user_ip = get_user_ip(request)