Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #10 : Add Rate Limiter on All APIs
### Objective:
Implement a rate limiter on all API endpoints to control the number of requests a client can make in a given time frame.
### Details:
Rate Limiting Library:
Utilize the express-rate-limit middleware for implementing rate limiting in the Express application.
Rate Limit Configuration:
Set a limit of 5 requests per second for each client to prevent abuse and ensure fair usage of the API.
Response for Exceeding Limit:
Configure the response behavior when the limit is exceeded:
Send a response with a message indicating the client should "Try again later" to inform users of the rate limit.
### Implementation Steps:
Screenshots
In this image, only 5 requests are sent successfully; subsequent requests receive a 429 error indicating 'Too Many Requests
This image shows the received requests in our backend, highlighting that only 5 requests are processed successfully, while subsequent requests result in a 429 error indicating 'Too Many Requests.
Testing:
Benefits:
Helps maintain API performance by preventing excessive requests from any single user.
Enhances the overall user experience by providing clear feedback when limits are exceeded.