diff --git a/lib/App/Netdisco/Configuration.pm b/lib/App/Netdisco/Configuration.pm index 064e43c4..8c2e6620 100644 --- a/lib/App/Netdisco/Configuration.pm +++ b/lib/App/Netdisco/Configuration.pm @@ -221,7 +221,7 @@ if (setting('reports') and ref {} eq ref setting('reports')) { config->{'reports'} = [ @{setting('system_reports')}, @{setting('reports')} ]; # set swagger ui location -config->{plugins}->{Swagger}->{ui_dir} - = dir(dist_dir('App-Netdisco'), 'swagger-ui')->absolute; +#config->{plugins}->{Swagger}->{ui_dir} = + #dir(dist_dir('App-Netdisco'), 'share', 'public', 'swagger-ui')->absolute; true; diff --git a/lib/App/Netdisco/Web.pm b/lib/App/Netdisco/Web.pm index 0c4bee6f..5344d167 100644 --- a/lib/App/Netdisco/Web.pm +++ b/lib/App/Netdisco/Web.pm @@ -306,16 +306,12 @@ get $swagger_base => sub { get $swagger_base.'/' => sub { # user might request /swagger-ui/ initially (Plugin doesn't handle this) params->{url} or redirect uri_for($swagger_base)->path; - - my $file = $swagger->ui_dir->child('index.html'); - send_error "file not found", 404 unless -f $file; - return $file->slurp; + send_file( 'swagger-ui/index.html' ); }; +# omg the plugin uses system_path and we don't want to go there get $swagger_base.'/**' => sub { - my $file = $swagger->ui_dir->child( @{ (splat())[0] } ); - send_error "file not found", 404 unless -f $file; - send_file $file, system_path => 1; + send_file( join '/', 'swagger-ui', @{ (splat())[0] } ); }; # remove empty lines from CSV response diff --git a/share/config.yml b/share/config.yml index 01470dcd..45296d79 100644 --- a/share/config.yml +++ b/share/config.yml @@ -500,6 +500,7 @@ plugins: main_api_module: 'App::Netdisco' ui_url: '/swagger-ui' show_ui: false + ui_dir: '/dev/null' Auth::Extensible: no_api_change_warning: true no_default_pages: true diff --git a/share/swagger-ui/favicon-16x16.png b/share/public/swagger-ui/favicon-16x16.png similarity index 100% rename from share/swagger-ui/favicon-16x16.png rename to share/public/swagger-ui/favicon-16x16.png diff --git a/share/swagger-ui/favicon-32x32.png b/share/public/swagger-ui/favicon-32x32.png similarity index 100% rename from share/swagger-ui/favicon-32x32.png rename to share/public/swagger-ui/favicon-32x32.png diff --git a/share/swagger-ui/index.html b/share/public/swagger-ui/index.html similarity index 100% rename from share/swagger-ui/index.html rename to share/public/swagger-ui/index.html diff --git a/share/swagger-ui/oauth2-redirect.html b/share/public/swagger-ui/oauth2-redirect.html similarity index 100% rename from share/swagger-ui/oauth2-redirect.html rename to share/public/swagger-ui/oauth2-redirect.html diff --git a/share/swagger-ui/swagger-ui-bundle.js b/share/public/swagger-ui/swagger-ui-bundle.js similarity index 100% rename from share/swagger-ui/swagger-ui-bundle.js rename to share/public/swagger-ui/swagger-ui-bundle.js diff --git a/share/swagger-ui/swagger-ui-bundle.js.map b/share/public/swagger-ui/swagger-ui-bundle.js.map similarity index 100% rename from share/swagger-ui/swagger-ui-bundle.js.map rename to share/public/swagger-ui/swagger-ui-bundle.js.map diff --git a/share/swagger-ui/swagger-ui-json-tree-plugin.js b/share/public/swagger-ui/swagger-ui-json-tree-plugin.js similarity index 100% rename from share/swagger-ui/swagger-ui-json-tree-plugin.js rename to share/public/swagger-ui/swagger-ui-json-tree-plugin.js diff --git a/share/swagger-ui/swagger-ui-json-tree-plugin.js.map b/share/public/swagger-ui/swagger-ui-json-tree-plugin.js.map similarity index 100% rename from share/swagger-ui/swagger-ui-json-tree-plugin.js.map rename to share/public/swagger-ui/swagger-ui-json-tree-plugin.js.map diff --git a/share/swagger-ui/swagger-ui-standalone-preset.js b/share/public/swagger-ui/swagger-ui-standalone-preset.js similarity index 100% rename from share/swagger-ui/swagger-ui-standalone-preset.js rename to share/public/swagger-ui/swagger-ui-standalone-preset.js diff --git a/share/swagger-ui/swagger-ui-standalone-preset.js.map b/share/public/swagger-ui/swagger-ui-standalone-preset.js.map similarity index 100% rename from share/swagger-ui/swagger-ui-standalone-preset.js.map rename to share/public/swagger-ui/swagger-ui-standalone-preset.js.map diff --git a/share/swagger-ui/swagger-ui.css b/share/public/swagger-ui/swagger-ui.css similarity index 100% rename from share/swagger-ui/swagger-ui.css rename to share/public/swagger-ui/swagger-ui.css diff --git a/share/swagger-ui/swagger-ui.css.map b/share/public/swagger-ui/swagger-ui.css.map similarity index 100% rename from share/swagger-ui/swagger-ui.css.map rename to share/public/swagger-ui/swagger-ui.css.map diff --git a/share/swagger-ui/swagger-ui.js b/share/public/swagger-ui/swagger-ui.js similarity index 100% rename from share/swagger-ui/swagger-ui.js rename to share/public/swagger-ui/swagger-ui.js diff --git a/share/swagger-ui/swagger-ui.js.map b/share/public/swagger-ui/swagger-ui.js.map similarity index 100% rename from share/swagger-ui/swagger-ui.js.map rename to share/public/swagger-ui/swagger-ui.js.map diff --git a/share/swagger-ui/version-3.20.3 b/share/public/swagger-ui/version-3.20.3 similarity index 100% rename from share/swagger-ui/version-3.20.3 rename to share/public/swagger-ui/version-3.20.3