Fix pagination URLs when behind SSL-terminating reverse proxy

This commit is contained in:
Zoe Roux
2025-11-13 14:02:37 +01:00
parent f4b1ab5fa0
commit 5e63b57440
13 changed files with 190 additions and 47 deletions
+8 -8
View File
@@ -143,7 +143,7 @@ export const collections = new Elysia({
"",
async ({
query: { limit, after, query, sort, filter, preferOriginal },
headers: { "accept-language": languages },
headers: { "accept-language": languages, ...headers },
jwt: { sub, settings },
request: { url },
}) => {
@@ -158,7 +158,7 @@ export const collections = new Elysia({
preferOriginal: preferOriginal ?? settings.preferOriginal,
userId: sub,
});
return createPage(items, { url, sort, limit });
return createPage(items, { url, sort, limit, headers });
},
{
detail: { description: "Get all collections" },
@@ -227,7 +227,7 @@ export const collections = new Elysia({
async ({
params: { id },
query: { limit, after, query, sort, filter, preferOriginal },
headers: { "accept-language": languages },
headers: { "accept-language": languages, ...headers },
jwt: { sub, settings },
request: { url },
status,
@@ -265,7 +265,7 @@ export const collections = new Elysia({
preferOriginal: preferOriginal ?? settings.preferOriginal,
userId: sub,
});
return createPage(items, { url, sort, limit });
return createPage(items, { url, sort, limit, headers });
},
{
detail: { description: "Get all movies in a collection" },
@@ -284,7 +284,7 @@ export const collections = new Elysia({
async ({
params: { id },
query: { limit, after, query, sort, filter, preferOriginal },
headers: { "accept-language": languages },
headers: { "accept-language": languages, ...headers },
jwt: { sub, settings },
request: { url },
status,
@@ -322,7 +322,7 @@ export const collections = new Elysia({
preferOriginal: preferOriginal ?? settings.preferOriginal,
userId: sub,
});
return createPage(items, { url, sort, limit });
return createPage(items, { url, sort, limit, headers });
},
{
detail: { description: "Get all series in a collection" },
@@ -341,7 +341,7 @@ export const collections = new Elysia({
async ({
params: { id },
query: { limit, after, query, sort, filter, preferOriginal },
headers: { "accept-language": languages },
headers: { "accept-language": languages, ...headers },
jwt: { sub, settings },
request: { url },
status,
@@ -375,7 +375,7 @@ export const collections = new Elysia({
preferOriginal: preferOriginal ?? settings.preferOriginal,
userId: sub,
});
return createPage(items, { url, sort, limit });
return createPage(items, { url, sort, limit, headers });
},
{
detail: { description: "Get all series & movies in a collection" },
+2 -2
View File
@@ -133,7 +133,7 @@ export const movies = new Elysia({ prefix: "/movies", tags: ["movies"] })
"",
async ({
query: { limit, after, query, sort, filter, preferOriginal },
headers: { "accept-language": languages },
headers: { "accept-language": languages, ...headers },
request: { url },
jwt: { sub, settings },
}) => {
@@ -148,7 +148,7 @@ export const movies = new Elysia({ prefix: "/movies", tags: ["movies"] })
preferOriginal: preferOriginal ?? settings.preferOriginal,
userId: sub,
});
return createPage(items, { url, sort, limit });
return createPage(items, { url, sort, limit, headers });
},
{
detail: { description: "Get all movies" },
+2 -2
View File
@@ -136,7 +136,7 @@ export const series = new Elysia({ prefix: "/series", tags: ["series"] })
"",
async ({
query: { limit, after, query, sort, filter, preferOriginal },
headers: { "accept-language": languages },
headers: { "accept-language": languages, ...headers },
request: { url },
jwt: { sub, settings },
}) => {
@@ -151,7 +151,7 @@ export const series = new Elysia({ prefix: "/series", tags: ["series"] })
preferOriginal: preferOriginal ?? settings.preferOriginal,
userId: sub,
});
return createPage(items, { url, sort, limit });
return createPage(items, { url, sort, limit, headers });
},
{
detail: { description: "Get all series" },
+2 -2
View File
@@ -63,7 +63,7 @@ export const showsH = new Elysia({ prefix: "/shows", tags: ["shows"] })
preferOriginal,
ignoreInCollection,
},
headers: { "accept-language": languages },
headers: { "accept-language": languages, ...headers },
request: { url },
jwt: { sub, settings },
}) => {
@@ -81,7 +81,7 @@ export const showsH = new Elysia({ prefix: "/shows", tags: ["shows"] })
preferOriginal: preferOriginal ?? settings.preferOriginal,
userId: sub,
});
return createPage(items, { url, sort, limit });
return createPage(items, { url, sort, limit, headers });
},
{
detail: { description: "Get all movies/series/collections" },