summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2023-04-26 22:30:13 +0200
committerSamantaz Fox <coding@samantaz.fr>2023-07-06 00:23:22 +0200
commit462609d90d38ec8e9aada1d700cfbca46e906552 (patch)
treea9323f4334c12cdb9ebf632ecbc0974f586af6b9
parent0ba22ef391a7b350d139dfd256aa20a7e1f812ed (diff)
downloadinvidious-462609d90d38ec8e9aada1d700cfbca46e906552.tar.gz
invidious-462609d90d38ec8e9aada1d700cfbca46e906552.tar.bz2
invidious-462609d90d38ec8e9aada1d700cfbca46e906552.zip
Utils: Create a function to append parameters to a base URL
-rw-r--r--src/invidious/http_server/utils.cr20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/invidious/http_server/utils.cr b/src/invidious/http_server/utils.cr
index e3f1fa0f..222dfc4a 100644
--- a/src/invidious/http_server/utils.cr
+++ b/src/invidious/http_server/utils.cr
@@ -1,3 +1,5 @@
+require "uri"
+
module Invidious::HttpServer
module Utils
extend self
@@ -16,5 +18,23 @@ module Invidious::HttpServer
return "#{url.request_target}?#{params}"
end
end
+
+ def add_params_to_url(url : String | URI, params : URI::Params) : URI
+ url = URI.parse(url) if url.is_a?(String)
+
+ url_query = url.query || ""
+
+ # Append the parameters
+ url.query = String.build do |str|
+ if !url_query.empty?
+ str << url_query
+ str << '&'
+ end
+
+ str << params
+ end
+
+ return url
+ end
end
end