Fixed incorrect scheme issue
This commit is contained in:
parent
3205597c27
commit
167dcb2694
2 changed files with 8 additions and 3 deletions
|
|
@ -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")
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue