Fixed incorrect scheme issue

This commit is contained in:
Kieran Eglin 2024-03-26 16:02:45 -07:00
parent 3205597c27
commit 167dcb2694
No known key found for this signature in database
GPG key ID: 193984967FCF432D
2 changed files with 8 additions and 3 deletions

View file

@ -47,10 +47,9 @@ defmodule PinchflatWeb.MediaItems.MediaItemController do
case parse_range(conn, file_size) do case parse_range(conn, file_size) do
{:ok, {start_pos, end_pos}} -> {:ok, {start_pos, end_pos}} ->
Logger.debug("Streaming media item: #{media_item.uuid} from #{start_pos} to #{end_pos}")
length = end_pos - start_pos + 1 length = end_pos - start_pos + 1
Logger.debug("Streaming media item: #{media_item.uuid} from #{start_pos} to #{end_pos} (#{length} bytes)")
conn conn
|> put_resp_content_type(mime_type) |> put_resp_content_type(mime_type)
|> put_resp_header("accept-ranges", "bytes") |> put_resp_header("accept-ranges", "bytes")

View file

@ -61,8 +61,14 @@ defmodule PinchflatWeb.Endpoint do
# that would probably be more difficult for end-users to set up than just # that would probably be more difficult for end-users to set up than just
# having the application figure it out. # having the application figure it out.
defp override_base_url(conn, _opts) do defp override_base_url(conn, _opts) do
new_scheme =
case get_req_header(conn, "x-forwarded-proto") do
[scheme] -> scheme
_ -> to_string(conn.scheme)
end
new_port = if conn.port in [80, 443], do: "", else: ":#{conn.port}" new_port = if conn.port in [80, 443], do: "", else: ":#{conn.port}"
new_base_url = "#{conn.scheme}://#{conn.host}#{new_port}" new_base_url = "#{new_scheme}://#{conn.host}#{new_port}"
Phoenix.Controller.put_router_url(conn, new_base_url) Phoenix.Controller.put_router_url(conn, new_base_url)
end end