{"id":16181751,"url":"https://github.com/ericclemmons/redux-server","last_synced_at":"2026-01-21T02:03:04.127Z","repository":{"id":66108089,"uuid":"50005134","full_name":"ericclemmons/redux-server","owner":"ericclemmons","description":"Redux-powered server \u0026 middleware for predictably handling requests with immutable responses.","archived":false,"fork":false,"pushed_at":"2016-01-20T05:02:04.000Z","size":2,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-14T06:12:31.536Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericclemmons.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-20T04:46:07.000Z","updated_at":"2017-10-16T20:32:39.000Z","dependencies_parsed_at":"2023-03-21T00:29:39.118Z","dependency_job_id":null,"html_url":"https://github.com/ericclemmons/redux-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ericclemmons/redux-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericclemmons%2Fredux-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericclemmons%2Fredux-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericclemmons%2Fredux-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericclemmons%2Fredux-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericclemmons","download_url":"https://codeload.github.com/ericclemmons/redux-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericclemmons%2Fredux-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28622472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"online","status_checked_at":"2026-01-21T02:00:08.227Z","response_time":86,"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":[],"created_at":"2024-10-10T06:27:24.748Z","updated_at":"2026-01-21T02:03:04.111Z","avatar_url":"https://github.com/ericclemmons.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# redux-server\n\u003e Redux-powered server \u0026amp; middleware for predictably handling requests with immutable responses.\n\n## Why?\n\nOver the past several years, I've bounced between Express, Koa, Hapi, and finally back to Express for my server needs.\n\nWith React, React Router, \u0026 GraphQL, the server has become increasingly simple.\n\nUnfortunately, the majority of middleware rely on clobbering objects \u0026 references (e.g. monkey-patching `res.send`, mutating objects `req.session`, adding to `res.locals`, etc.) just to send a request.\n\nIn fact, if a middleware calls `res.send`, other middleware have to hijack it with their own version just to intercept the response!\n\nThis approach allows for the `response` object to be handled dynamically, allowing for several scenarios:\n\n- Universal API calls on both the client \u0026 server.\n- Responding to various errors differently.\n- Short-circuiting the dispatch with a redirect.\n- Rendering the payload as JSON, HTML, or even Markdown.\n- Hooking into the payload for tracking events.\n- Simpler `response` object for logging \u0026 debugging.\n\n- - - \n\n_More to come_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericclemmons%2Fredux-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericclemmons%2Fredux-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericclemmons%2Fredux-server/lists"}