about summary refs log tree commit diff
path: root/app/controllers/api/v1
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2020-01-15 23:02:03 -0600
committermultiple creatures <dev@multiple-creature.party>2020-01-15 23:02:03 -0600
commit874e7adbe1f5f2b9bfb3577ba091203ab6e7051f (patch)
tree5ab2dc8154161fbb7c98ed094d4889447fd3eed1 /app/controllers/api/v1
parentf35851e777cc8a704f30fe4970a91b9faf823f67 (diff)
port commit `7e2bff995` from upstream to fix broken attachment downloading
Diffstat (limited to 'app/controllers/api/v1')
-rw-r--r--app/controllers/api/v1/streaming_controller.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/app/controllers/api/v1/streaming_controller.rb b/app/controllers/api/v1/streaming_controller.rb
index 66b812e76..ebb17608c 100644
--- a/app/controllers/api/v1/streaming_controller.rb
+++ b/app/controllers/api/v1/streaming_controller.rb
@@ -5,11 +5,17 @@ class Api::V1::StreamingController < Api::BaseController
 
   def index
     if Rails.configuration.x.streaming_api_base_url != request.host
-      uri = URI.parse(request.url)
-      uri.host = URI.parse(Rails.configuration.x.streaming_api_base_url).host
-      redirect_to uri.to_s, status: 301
+      redirect_to streaming_api_url, status: 301
     else
-      raise ActiveRecord::RecordNotFound
+      not_found
     end
   end
+
+  private
+
+  def streaming_api_url
+    Addressable::URI.parse(request.url).tap do |uri|
+      uri.host = Addressable::URI.parse(Rails.configuration.x.streaming_api_base_url).host
+    end.to_s
+  end
 end