Merge branch '8784-dir-listings'
[arvados.git] / services / api / app / controllers / static_controller.rb
index c71b85052be80482c129f5f10527506db34b81ee..594dc436297224463f860fe3d74cb9d718e02bdf 100644 (file)
@@ -1,18 +1,31 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class StaticController < ApplicationController
   respond_to :json, :html
 
   skip_before_filter :find_object_by_uuid
   skip_before_filter :render_404_if_no_object
-  skip_before_filter :require_auth_scope, :only => [ :home, :login_failure ]
+  skip_before_filter :require_auth_scope, only: [:home, :empty, :login_failure]
 
   def home
-    if Rails.configuration.respond_to? :workbench_address
-      redirect_to Rails.configuration.workbench_address
-    else
-      render json: {
-        error: ('This is the API server; you probably want to be at the workbench for this installation. Unfortunately, config.workbench_address is not set so I can not redirect you there automatically')
-      }
+    respond_to do |f|
+      f.html do
+        if Rails.configuration.workbench_address
+          redirect_to Rails.configuration.workbench_address
+        else
+          render_not_found "Oops, this is an API endpoint. You probably want to point your browser to an Arvados Workbench site instead."
+        end
+      end
+      f.json do
+        render_not_found "Path not found."
+      end
     end
   end
 
+  def empty
+    render text: "-"
+  end
+
 end