Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SwaggerUI to 3.18.3 #249

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
163 changes: 60 additions & 103 deletions lib/phoenix_swagger/plug/swaggerui.ex
Original file line number Diff line number Diff line change
Expand Up @@ -31,113 +31,67 @@ defmodule PhoenixSwagger.Plug.SwaggerUI do
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after
{
box-sizing: inherit;
}

body {
margin:0;
background: #fafafa;
}
</style>
</head>
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}

<body>
*,
*:before,
*:after
{
box-sizing: inherit;
}

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
<defs>
<symbol viewBox="0 0 20 20" id="unlocked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
</symbol>

<symbol viewBox="0 0 20 20" id="locked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
</symbol>

<symbol viewBox="0 0 20 20" id="close">
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
</symbol>

<symbol viewBox="0 0 20 20" id="large-arrow">
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
</symbol>

<symbol viewBox="0 0 20 20" id="large-arrow-down">
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
</symbol>


<symbol viewBox="0 0 24 24" id="jump-to">
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
</symbol>

<symbol viewBox="0 0 24 24" id="expand">
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
</symbol>

</defs>
</svg>

<div id="swagger-ui"></div>

<script src="./swagger-ui-bundle.js"> </script>
<script src="./swagger-ui-standalone-preset.js"> </script>
<script>
window.onload = function() {

// Build a system
const swagger_url = new URL(window.location);
swagger_url.pathname = swagger_url.pathname.replace("index.html", "<%= spec_url %>");
swagger_url.hash = "";
const ui = SwaggerUIBundle({
url: swagger_url.href,
dom_id: '#swagger-ui',
deepLinking: true,
tagsSorter: (a, b) => {
return a.localeCompare(b);
},
operationsSorter: (a, b) => {
var methodsOrder = ["get", "post", "put", "patch", "delete", "options"];
var result = methodsOrder.indexOf( a.get("method") ) - methodsOrder.indexOf( b.get("method") );

if (result === 0) {
result = a.get("path").localeCompare(b.get("path"));
body
{
margin:0;
background: #fafafa;
}
</style>
</head>


return result;
},
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})

window.ui = ui
}
<body>
<div id="swagger-ui"></div>

<script src="./swagger-ui-bundle.js"> </script>
<script src="./swagger-ui-standalone-preset.js"> </script>
<script>
window.onload = function() {
// Begin Swagger UI call region
const swagger_url = new URL(window.location);
swagger_url.pathname = swagger_url.pathname.replace("index.html", "<%= spec_url %>");
swagger_url.hash = "";

const ui = SwaggerUIBundle({
url: swagger_url.href,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
// End Swagger UI call region

window.ui = ui
}
</script>
</body>

</html>
"""

Expand All @@ -160,13 +114,16 @@ defmodule PhoenixSwagger.Plug.SwaggerUI do
# Render the swagger.json file or 404 for any other file
get "/*paths" do
spec_url = conn.assigns.spec_url

case conn.path_params["paths"] do
[^spec_url] -> Conn.send_file(conn, 200, conn.assigns.swagger_file_path)
[^spec_url] ->
Conn.send_file(conn, 200, conn.assigns.swagger_file_path)

_ ->
if accept_json?(conn) do
conn
|> Conn.put_resp_content_type("application/json")
|> Conn.send_resp(404, PhoenixSwagger.json_library().encode!(%{"Error": "not found"}))
|> Conn.send_resp(404, PhoenixSwagger.json_library().encode!(%{Error: "not found"}))
|> halt
else
Conn.send_resp(conn, 404, "not found")
Expand Down
14 changes: 0 additions & 14 deletions priv/static/absolute-path.js

This file was deleted.

Binary file modified priv/static/favicon-16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified priv/static/favicon-32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 18 additions & 3 deletions priv/static/oauth2-redirect.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<!doctype html>
<html lang="en-US">
<title>Swagger UI: OAuth2 Redirect</title>
<body onload="run()">
</body>
</html>
Expand All @@ -11,7 +12,11 @@
var redirectUrl = oauth2.redirectUrl;
var isValid, qp, arr;

qp = (window.location.hash || location.search).substring(1);
if (/code|token|error/.test(window.location.hash)) {
qp = window.location.hash.substring(1);
} else {
qp = location.search.substring(1);
}

arr = qp.split("&")
arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace('=', '":"') + '"';})
Expand All @@ -23,7 +28,10 @@

isValid = qp.state === sentState

if (oauth2.auth.schema.get("flow") === "accessCode" && !oauth2.auth.code) {
if ((
oauth2.auth.schema.get("flow") === "accessCode"||
oauth2.auth.schema.get("flow") === "authorizationCode"
) && !oauth2.auth.code) {
if (!isValid) {
oauth2.errCb({
authId: oauth2.auth.name,
Expand All @@ -38,11 +46,18 @@
oauth2.auth.code = qp.code;
oauth2.callback({auth: oauth2.auth, redirectUrl: redirectUrl});
} else {
let oauthErrorMsg
if (qp.error) {
oauthErrorMsg = "["+qp.error+"]: " +
(qp.error_description ? qp.error_description+ ". " : "no accessCode received from the server. ") +
(qp.error_uri ? "More info: "+qp.error_uri : "");
}

oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "error",
message: "Authorization failed: no accessCode received from the server"
message: oauthErrorMsg || "[Authorization failed]: no accessCode received from the server"
});
}
} else {
Expand Down
122 changes: 13 additions & 109 deletions priv/static/package.json
Original file line number Diff line number Diff line change
@@ -1,114 +1,18 @@
{
"_args": [
[
{
"raw": "swagger-ui-dist",
"scope": null,
"escapedName": "swagger-ui-dist",
"name": "swagger-ui-dist",
"rawSpec": "",
"spec": "latest",
"type": "tag"
},
"/Users/stuart/Downloads"
]
],
"_from": "swagger-ui-dist@latest",
"_id": "[email protected]",
"_inCache": true,
"_location": "/swagger-ui-dist",
"_nodeVersion": "6.9.5",
"_npmOperationalInternal": {
"host": "s3://npm-registry-packages",
"tmp": "tmp/swagger-ui-dist-3.1.7.tgz_1503712504884_0.10092298616655171"
},
"_npmUser": {
"name": "swagger",
"email": "[email protected]"
},
"_npmVersion": "3.10.10",
"_phantomChildren": {},
"_requested": {
"raw": "swagger-ui-dist",
"scope": null,
"escapedName": "swagger-ui-dist",
"name": "swagger-ui-dist",
"rawSpec": "",
"spec": "latest",
"type": "tag"
},
"_requiredBy": [
"#USER"
],
"_resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.1.7.tgz",
"_shasum": "6c4a5895c1ba7f094dbada89674dde628fd341dc",
"_shrinkwrap": null,
"_spec": "swagger-ui-dist",
"_where": "/Users/stuart/Downloads",
"bugs": {
"url": "https://github.com/swagger-api/swagger-ui/issues"
},
"name": "swagger-ui-dist",
"version": "3.18.3",
"main": "index.js",
"repository": "[email protected]:swagger-api/swagger-ui.git",
"contributors": [
{
"url": "in alphabetical order"
},
{
"name": "Anna Bodnia",
"email": "[email protected]"
},
{
"name": "Buu Nguyen",
"email": "[email protected]"
},
{
"name": "Josh Ponelat",
"email": "[email protected]"
},
{
"name": "Kyle Shockey",
"email": "[email protected]"
},
{
"name": "Robert Barnwell",
"email": "[email protected]"
},
{
"name": "Sahar Jafari",
"email": "[email protected]"
}
"(in alphabetical order)",
"Anna Bodnia <[email protected]>",
"Buu Nguyen <[email protected]>",
"Josh Ponelat <[email protected]>",
"Kyle Shockey <[email protected]>",
"Robert Barnwell <[email protected]>",
"Sahar Jafari <[email protected]>"
],
"dependencies": {},
"description": "[![NPM version](https://badge.fury.io/js/swagger-ui-dist.svg)](http://badge.fury.io/js/swagger-ui-dist)",
"devDependencies": {},
"directories": {},
"dist": {
"shasum": "6c4a5895c1ba7f094dbada89674dde628fd341dc",
"tarball": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.1.7.tgz"
},
"homepage": "https://github.com/swagger-api/swagger-ui#readme",
"license": "Apache-2.0",
"main": "index.js",
"maintainers": [
{
"name": "kyleshockey",
"email": "[email protected]"
},
{
"name": "swagger",
"email": "[email protected]"
},
{
"name": "swagger-api",
"email": "[email protected]"
}
],
"name": "swagger-ui-dist",
"optionalDependencies": {},
"readme": "ERROR: No README data found!",
"repository": {
"type": "git",
"url": "git+ssh://[email protected]/swagger-api/swagger-ui.git"
},
"scripts": {},
"version": "3.1.7"
"dependencies": {},
"devDependencies": {}
}
107 changes: 80 additions & 27 deletions priv/static/swagger-ui-bundle.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion priv/static/swagger-ui-bundle.js.map

Large diffs are not rendered by default.

Loading