From 80c0aa35e2cbe982068814877f63bdeafbd5f3ae Mon Sep 17 00:00:00 2001 From: Sylwia Date: Fri, 20 Feb 2026 07:07:49 +0100 Subject: [PATCH] Add CORS headers to /oembed API (#9845) --- bskyweb/cmd/embedr/server.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bskyweb/cmd/embedr/server.go b/bskyweb/cmd/embedr/server.go index 62427e70e7..8168197ca3 100644 --- a/bskyweb/cmd/embedr/server.go +++ b/bskyweb/cmd/embedr/server.go @@ -178,6 +178,13 @@ func serve(cctx *cli.Context) error { return http.FS(fsys) }()) + // Create CORS middleware for oembed + oembedCORS := middleware.CORSWithConfig(middleware.CORSConfig{ + AllowOrigins: []string{"*"}, + AllowMethods: []string{http.MethodGet, http.MethodHead, http.MethodOptions}, + AllowHeaders: []string{"Origin", "Content-Type", "Accept"}, + }) + e.GET("/robots.txt", echo.WrapHandler(staticHandler)) e.GET("/ips-v4", echo.WrapHandler(staticHandler)) e.GET("/ips-v6", echo.WrapHandler(staticHandler)) @@ -205,7 +212,7 @@ func serve(cctx *cli.Context) error { e.GET("/", server.WebHome) e.GET("/iframe-resize.js", echo.WrapHandler(staticHandler)) e.GET("/embed.js", echo.WrapHandler(staticHandler)) - e.GET("/oembed", server.WebOEmbed) + e.GET("/oembed", server.WebOEmbed, oembedCORS) e.GET("/embed/:did/app.bsky.feed.post/:rkey", server.WebPostEmbed) // Start the server.