From f5b5568cc5ab5cd2714f496311f45c97802f5f49 Mon Sep 17 00:00:00 2001 From: RoyceDa Date: Mon, 16 Feb 2026 16:31:48 +0200 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D1=80=D0=B5=D1=88=D0=B0?= =?UTF-8?q?=D0=B5=D0=BC=20CORS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/im/rosetta/CorsFilter.java | 20 ++++++++++++++++++++ src/main/java/im/rosetta/Main.java | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/main/java/im/rosetta/CorsFilter.java diff --git a/src/main/java/im/rosetta/CorsFilter.java b/src/main/java/im/rosetta/CorsFilter.java new file mode 100644 index 0000000..61f3e27 --- /dev/null +++ b/src/main/java/im/rosetta/CorsFilter.java @@ -0,0 +1,20 @@ +package im.rosetta; + +import java.io.IOException; + +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.container.ContainerResponseContext; +import jakarta.ws.rs.container.ContainerResponseFilter; + +/** + * Разрешает CORS для всех доменов, чтобы клиенты могли обращаться к CDN напрямую из браузера + */ +public class CorsFilter implements ContainerResponseFilter { + + @Override + public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) + throws IOException { + responseContext.getHeaders().add("Access-Control-Allow-Origin", "*"); + } + +} diff --git a/src/main/java/im/rosetta/Main.java b/src/main/java/im/rosetta/Main.java index ca897b1..f57e641 100644 --- a/src/main/java/im/rosetta/Main.java +++ b/src/main/java/im/rosetta/Main.java @@ -21,7 +21,8 @@ public class Main { ResourceConfig config = new ResourceConfig() .register(MultiPartFeature.class) - .register(JacksonFeature.class) + .register(JacksonFeature.class) + .register(CorsFilter.class) .register(new CdnResource(fileStore)); URI baseUri = URI.create("http://0.0.0.0:" + port + "/");