@@ -2,30 +2,38 @@ package sdk
22
33import "net/http"
44
5+ // CorsHeaders sets CORS headers for SDK flag evaluation endpoints and
6+ // short-circuits preflight OPTIONS requests with 204 No Content.
57func CorsHeaders (handler http.Handler ) http.Handler {
6- return http .HandlerFunc (func (writer http.ResponseWriter , request * http.Request ) {
7- writer .Header ().Set ("Access-Control-Allow-Origin" , "*" )
8- writer .Header ().Set ("Access-Control-Allow-Methods" , "GET,OPTIONS" )
9- writer .Header ().Set ("Access-Control-Allow-Credentials" , "true" )
10- writer .Header ().Set ("Access-Control-Allow-Headers" , "Cache-Control,Content-Type,Content-Length,Accept-Encoding,X-LaunchDarkly-User-Agent,X-LaunchDarkly-Payload-ID,X-LaunchDarkly-Wrapper,X-LaunchDarkly-Event-Schema,X-LaunchDarkly-Tags" )
11- writer .Header ().Set ("Access-Control-Expose-Headers" , "Date" )
12- writer .Header ().Set ("Access-Control-Max-Age" , "300" )
13- if request .Method == http .MethodOptions {
14- writer .WriteHeader (http .StatusOK )
15- return
16- }
17- handler .ServeHTTP (writer , request )
18- })
8+ return http .HandlerFunc (func (writer http.ResponseWriter , request * http.Request ) {
9+ writer .Header ().Set ("Access-Control-Allow-Origin" , "*" )
10+ writer .Header ().Set ("Access-Control-Allow-Methods" , "GET,OPTIONS" )
11+ writer .Header ().Set ("Access-Control-Allow-Credentials" , "true" )
12+ writer .Header ().Set ("Access-Control-Allow-Headers" , "Cache-Control,Content-Type,Content-Length,Accept-Encoding,X-LaunchDarkly-User-Agent,X-LaunchDarkly-Payload-ID,X-LaunchDarkly-Wrapper,X-LaunchDarkly-Event-Schema,X-LaunchDarkly-Tags" )
13+ writer .Header ().Set ("Access-Control-Expose-Headers" , "Date" )
14+ writer .Header ().Set ("Access-Control-Max-Age" , "300" )
15+ if request .Method == http .MethodOptions {
16+ writer .WriteHeader (http .StatusNoContent )
17+ return
18+ }
19+ handler .ServeHTTP (writer , request )
20+ })
1921}
2022
23+ // EventsCorsHeaders sets CORS headers for SDK events endpoints and
24+ // short-circuits preflight OPTIONS requests with 204 No Content.
2125func EventsCorsHeaders (handler http.Handler ) http.Handler {
22- return http .HandlerFunc (func (writer http.ResponseWriter , request * http.Request ) {
23- writer .Header ().Set ("Access-Control-Allow-Origin" , "*" )
24- writer .Header ().Set ("Access-Control-Allow-Methods" , "POST,OPTIONS" )
25- writer .Header ().Set ("Access-Control-Allow-Credentials" , "true" )
26- writer .Header ().Set ("Access-Control-Allow-Headers" , "Accept,Content-Type,Content-Length,Accept-Encoding,X-LaunchDarkly-Event-Schema,X-LaunchDarkly-User-Agent,X-LaunchDarkly-Payload-ID,X-LaunchDarkly-Wrapper,X-LaunchDarkly-Tags" )
27- writer .Header ().Set ("Access-Control-Expose-Headers" , "Date" )
28- writer .Header ().Set ("Access-Control-Max-Age" , "300" )
29- handler .ServeHTTP (writer , request )
30- })
26+ return http .HandlerFunc (func (writer http.ResponseWriter , request * http.Request ) {
27+ writer .Header ().Set ("Access-Control-Allow-Origin" , "*" )
28+ writer .Header ().Set ("Access-Control-Allow-Methods" , "POST,OPTIONS" )
29+ writer .Header ().Set ("Access-Control-Allow-Credentials" , "true" )
30+ writer .Header ().Set ("Access-Control-Allow-Headers" , "Accept,Content-Type,Content-Length,Accept-Encoding,X-LaunchDarkly-Event-Schema,X-LaunchDarkly-User-Agent,X-LaunchDarkly-Payload-ID,X-LaunchDarkly-Wrapper,X-LaunchDarkly-Tags" )
31+ writer .Header ().Set ("Access-Control-Expose-Headers" , "Date" )
32+ writer .Header ().Set ("Access-Control-Max-Age" , "300" )
33+ if request .Method == http .MethodOptions {
34+ writer .WriteHeader (http .StatusNoContent )
35+ return
36+ }
37+ handler .ServeHTTP (writer , request )
38+ })
3139}
0 commit comments