{"id":30222774,"url":"https://github.com/premiershokky/throttle-maker","last_synced_at":"2026-04-19T03:04:01.326Z","repository":{"id":274577800,"uuid":"923180562","full_name":"premiershokky/throttle-maker","owner":"premiershokky","description":"A TypeScript-based throttler implementation for Express.js, designed to manage and limit incoming HTTP requests. This project showcases a non-blocking, asynchronous approach to queue and process requests while adhering to specified rate limits.","archived":false,"fork":false,"pushed_at":"2025-01-28T05:42:55.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-13T22:37:41.057Z","etag":null,"topics":["event-loop","expressjs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/premiershokky.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-27T19:20:16.000Z","updated_at":"2025-01-28T05:43:50.000Z","dependencies_parsed_at":"2025-01-28T06:37:47.226Z","dependency_job_id":null,"html_url":"https://github.com/premiershokky/throttle-maker","commit_stats":null,"previous_names":["lunarwhisperrrr/throttle-maker","premiershokky/throttle-maker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/premiershokky/throttle-maker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premiershokky%2Fthrottle-maker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premiershokky%2Fthrottle-maker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premiershokky%2Fthrottle-maker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premiershokky%2Fthrottle-maker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premiershokky","download_url":"https://codeload.github.com/premiershokky/throttle-maker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premiershokky%2Fthrottle-maker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31992822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["event-loop","expressjs","typescript"],"created_at":"2025-08-14T11:09:53.368Z","updated_at":"2026-04-19T03:04:01.297Z","avatar_url":"https://github.com/premiershokky.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Throttle Maker in TypeScript with Express.js\n\n## Overview\n\nThis repository contains a simple implementation of a throttler (rate limiter) built using TypeScript and Express.js. The throttler is designed to manage the rate of incoming requests to HTTP endpoints, ensuring they adhere to predefined limits. This project serves as a proof of concept for testing throttling mechanisms in a Node.js environment without blocking the event loop.\n\n## Features\n\n- Rate Limiting: Control the maximum number of requests that can be processed over a specified time interval.\n- Queue Management: Incoming requests are queued and processed as capacity allows, avoiding overload and ensuring smooth operation.\n- Asynchronous Handling: Utilizes asynchronous techniques for non-blocking request processing.\n- Customizable Limits: Easily adjust the number of allowed requests and the time window for throttling.\n\n## Tech Stack\n\n- TypeScript: For type safety and improved developer experience.\n- Express.js: Web framework for building APIs.\n- Node.js: JavaScript runtime for executing server-side code.\n\n## Getting Started\n\nTo run this project, follow these steps:\n\nClone the Repository\n\n```bash\ngit clone https://github.com/yourusername/throttle-maker.git\ncd throttle-maker\nInstall Dependencies\n```\n\n```bash\nnpm install\nRun the Application\n```\n\n```bash\nnpm start\n```\n\n## Test the Endpoints\n\nYou can test the throttled endpoints using a tool like Postman or curl.\n\nExample Requests:\n\nTo trigger the process1 endpoint:\n\n```bash\ncurl -X POST http://localhost:3000/process1\n```\n\nTo trigger the process2 endpoint:\n\n```bash\ncurl -X POST http://localhost:3000/process2\n```\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremiershokky%2Fthrottle-maker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpremiershokky%2Fthrottle-maker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremiershokky%2Fthrottle-maker/lists"}