From 8855978e5b84912cb2498a1a6df4e68e2363b189 Mon Sep 17 00:00:00 2001 From: afrmtbl Date: Fri, 29 Mar 2019 23:41:55 -0400 Subject: [PATCH] Implement fields handling --- src/invidious/helpers/handlers.cr | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/invidious/helpers/handlers.cr b/src/invidious/helpers/handlers.cr index 9d5ebd23..b613488a 100644 --- a/src/invidious/helpers/handlers.cr +++ b/src/invidious/helpers/handlers.cr @@ -97,6 +97,16 @@ class APIHandler < Kemal::Handler if env.response.headers["Content-Type"]?.try &.== "application/json" response = JSON.parse(response) + if env.params.query["fields"]? + fields_text = env.params.query["fields"] + begin + JSONFilter.filter(response, fields_text) + rescue ex + env.response.status_code = 400 + response = {"error" => ex.message} + end + end + if env.params.query["pretty"]? && env.params.query["pretty"] == "1" response = response.to_pretty_json else