{"adoption": {"forks": 234, "observed_at": "2026-08-28T04:07:28.791048+00:00", "stars": 2898}, "canonical_url": "https://ross.abutalabs.com/products/rs-cors", "card": {"archived": false, "artifact_type": "library", "description": "Go net/http configurable handler to handle CORS requests", "domain": ["web-development", "backend", "apis", "security"], "enriched": true, "function": ["middleware", "http-server", "security", "routing"], "health_score": 71, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["rs/cors"], "name": "rs/cors", "platform": ["go", "cross-platform"], "pushed_at": "2026-06-04T06:13:47+00:00", "repo": "rs/cors", "stars": 2898, "tags": ["cors", "net-http", "http-middleware", "cross-origin-resource-sharing", "web-server"], "topics": [], "urls": [], "use_cases": ["add CORS headers to a Go HTTP server", "allow cross-origin requests from specific domains in Go", "handle CORS preflight OPTIONS requests", "enable CORS middleware for a Go router like Goji or Negroni", "prevent insecure wildcard origin with credentials configuration", "serve a JSON API consumed by browsers from other origins"], "what_it_is": "rs/cors is a Go library providing a configurable net/http handler that implements the Cross Origin Resource Sharing (CORS) W3C specification. It works as middleware for net/http and popular Go routers such as Goji, Martini, Negroni, and Alice.", "when_to_avoid": ["your server is not written in Go", "you need CORS handled at the reverse proxy or API gateway level instead of application code", "you rely on the removed behavior of reflecting arbitrary origins with credentials enabled"], "when_to_choose": ["you need standards-compliant CORS handling in a Go net/http application", "you want fine-grained control over allowed origins, methods, and headers", "you need a lightweight middleware that integrates with many Go routers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rs-cors", "repo": "rs/cors", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.791048+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:35:13.181165+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a65d188dea32629a08e76026d6c32d5d2955af47689b7ecee96fa22cbde923f4", "fetched_at": "2026-08-28T04:07:28.791048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rs/cors"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 85, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4330, "days_push": 90, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}