From 448659ea8a3330509246ebc200aed2af2f76ff62 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sun, 29 Jan 2023 20:07:06 +0100 Subject: [PATCH] Allow POST requests for unauthenticated subscriptions --- .../me/kavin/piped/server/ServerLauncher.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/me/kavin/piped/server/ServerLauncher.java b/src/main/java/me/kavin/piped/server/ServerLauncher.java index 1963b2b..9a93023 100644 --- a/src/main/java/me/kavin/piped/server/ServerLauncher.java +++ b/src/main/java/me/kavin/piped/server/ServerLauncher.java @@ -329,6 +329,14 @@ public class ServerLauncher extends MultithreadedHttpServerLauncher { } catch (Exception e) { return getErrorResponse(e, request.getPath()); } + })).map(POST, "/feed/unauthenticated", AsyncServlet.ofBlocking(executor, request -> { + try { + String[] subscriptions = Constants.mapper.readValue(request.loadBody().getResult().asArray(), + String[].class); + return getJsonResponse(FeedHandlers.unauthenticatedFeedResponse(subscriptions), "public, s-maxage=120"); + } catch (Exception e) { + return getErrorResponse(e, request.getPath()); + } })).map(GET, "/feed/unauthenticated/rss", AsyncServlet.ofBlocking(executor, request -> { try { return getRawResponse(FeedHandlers.unauthenticatedFeedResponseRSS( @@ -369,6 +377,14 @@ public class ServerLauncher extends MultithreadedHttpServerLauncher { } catch (Exception e) { return getErrorResponse(e, request.getPath()); } + })).map(POST, "/subscriptions/unauthenticated", AsyncServlet.ofBlocking(executor, request -> { + try { + String[] subscriptions = Constants.mapper.readValue(request.loadBody().getResult().asArray(), + String[].class); + return getJsonResponse(FeedHandlers.unauthenticatedSubscriptionsResponse(subscriptions), "public, s-maxage=120"); + } catch (Exception e) { + return getErrorResponse(e, request.getPath()); + } })).map(POST, "/user/playlists/create", AsyncServlet.ofBlocking(executor, request -> { try { var name = Constants.mapper.readTree(request.loadBody().getResult().asArray()).get("name").textValue();