at://nekomimi.pet/sh.tangled.repo.pull/3m4ivlx63dd22

Back to Collection

Record JSON

{
  "$type": "sh.tangled.repo.pull",
  "createdAt": "2025-10-31T17:47:59Z",
  "patch": "From 59a1308eccc2346fe50b050a9e0f55d8202b5ff9 Mon Sep 17 00:00:00 2001\nFrom: \"@nekomimi.pet\" \u003cana@nekoimimi.pet\u003e\nDate: Fri, 31 Oct 2025 12:37:26 -0400\nSubject: [PATCH] knotserver: add cors headers as a middleware function\n\nSigned-off-by: @nekomimi.pet \u003cana@nekoimimi.pet\u003e\n---\n knotserver/middleware.go | 18 ++++++++++++++++++\n 1 file changed, 18 insertions(+)\n\ndiff --git a/knotserver/middleware.go b/knotserver/middleware.go\nindex ae6280d6..5b579bc6 100644\n--- a/knotserver/middleware.go\n+++ b/knotserver/middleware.go\n@@ -33,3 +33,21 @@ func (h *Knot) RequestLogger(next http.Handler) http.Handler {\n \t\t)\n \t})\n }\n+\n+func (h *Knot) CORS(next http.Handler) http.Handler {\n+\treturn http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {\n+\t\t// Set CORS headers\n+\t\tw.Header().Set(\"Access-Control-Allow-Origin\", \"*\")\n+\t\tw.Header().Set(\"Access-Control-Allow-Methods\", \"GET, POST, PUT, DELETE, OPTIONS\")\n+\t\tw.Header().Set(\"Access-Control-Allow-Headers\", \"Content-Type, Authorization\")\n+\t\tw.Header().Set(\"Access-Control-Max-Age\", \"86400\")\n+\n+\t\t// Handle preflight requests\n+\t\tif r.Method == \"OPTIONS\" {\n+\t\t\tw.WriteHeader(http.StatusOK)\n+\t\t\treturn\n+\t\t}\n+\n+\t\tnext.ServeHTTP(w, r)\n+\t})\n+}\n-- \n2.51.0\n\n\nFrom b19de89d52bc58fdb3324dce3d47fb4075af3665 Mon Sep 17 00:00:00 2001\nFrom: \"@nekomimi.pet\" \u003cana@nekoimimi.pet\u003e\nDate: Fri, 31 Oct 2025 12:37:37 -0400\nSubject: [PATCH] knotserver: have top level router use cors header function\n\nSigned-off-by: @nekomimi.pet \u003cana@nekoimimi.pet\u003e\n---\n knotserver/router.go | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/knotserver/router.go b/knotserver/router.go\nindex 56fd9eac..d36a184b 100644\n--- a/knotserver/router.go\n+++ b/knotserver/router.go\n@@ -71,6 +71,7 @@ func Setup(ctx context.Context, c *config.Config, db *db.DB, e *rbac.Enforcer, j\n func (h *Knot) Router() http.Handler {\n \tr := chi.NewRouter()\n \n+\tr.Use(h.CORS)\n \tr.Use(h.RequestLogger)\n \n \tr.Get(\"/\", func(w http.ResponseWriter, r *http.Request) {\n-- \n2.51.0\n\n\n",
  "source": {
    "branch": "master",
    "repo": "at://did:plc:ttdrpj45ibqunmfhdsb4zdwq/sh.tangled.repo/3m4iubqhvqy22",
    "sha": "b19de89d52bc58fdb3324dce3d47fb4075af3665"
  },
  "target": {
    "branch": "master",
    "repo": "at://did:plc:wshs7t2adsemcrrd4snkeqli/sh.tangled.repo/3liuighjy2h22"
  },
  "title": "Add CORS top level middleware router to knotserver/"
}