diff --git a/app/src/RedocPage/RedocPage.js b/app/src/RedocPage/RedocPage.js index 77cb1da..62a04f9 100644 --- a/app/src/RedocPage/RedocPage.js +++ b/app/src/RedocPage/RedocPage.js @@ -7,7 +7,11 @@ import { Link } from 'react-router-dom' import SelectApi from '../SelectApi/SelectApi'; -function prepareSpec(json) { +function prepareSpec(json, {server}) { + if (server) { + json.servers = [{url: server}] + } + const serverEnv = window._env_.SERVER_ENV; if(serverEnv && serverEnv !== '' && json && json.servers && Array.isArray(json.servers)) { const regex = new RegExp(serverEnv) @@ -21,7 +25,7 @@ class RedocPage extends Component { super(props); this.state = { - availableApis: window._env_.URLS.map(item => ({ value: slugify(item.name).toLowerCase(), label: item.name, url: item.url })), + availableApis: window._env_.URLS.map(item => ({ value: slugify(item.name).toLowerCase(), label: item.name, url: item.url, server: item.server })), activeApi: { url: '' }, @@ -59,14 +63,15 @@ class RedocPage extends Component { return res.json(); }) .then((json) => { - const spec = prepareSpec(json); + const spec = prepareSpec(json, state.activeApi); this.setState({ spec, specIsLoaded: true, }) }).catch((err) => { - console.log(err); + // console.log(err); this.setState({ + spec: undefined, specIsLoaded: true, }) }) diff --git a/docker-compose.yml b/docker-compose.yml index 669b313..39e48ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,4 +6,4 @@ services: ports: - "8081:80" environment: - URLS: "[{url: 'https://petstore.swagger.io/v2/swagger.json', name: 'Petshop'},{url: 'https://api.apis.guru/v2/specs/instagram.com/1.0.0/swagger.yaml', name: 'Instagram'}]" + URLS: "[{url: 'https://petstore.swagger.io/v2/swagger.json', name: 'Petshop', server: 'http://example.com/foo'},{url: 'https://api.apis.guru/v2/specs/instagram.com/1.0.0/swagger.yaml', name: 'Instagram'}]"