componentDidMount()

in src/pages/RestApi/RestApi.tsx [40:110]


  componentDidMount() {
    let pathName = window.location.pathname;

    let [version, apiversion] = parseVersion(pathName);

    let params = window.location.search;
    params = params.replace("?", "");
    const paramsList = params.split("&");
    if (paramsList && paramsList.length > 0) {
      version = "master";
      apiversion = "";
      for (let i in paramsList) {
        let param = paramsList[i].split("=");
        if (param[0] === "version") {
          version = param[1];
        }
        if (param[0] === "apiversion") {
          apiversion = param[1];
        }
      }
    }

    const wrapper = document.querySelector(".container");
    const redoc = document.createElement("redoc");

    if (pathName.indexOf("admin-rest-api") >= 0) {
      redoc.setAttribute(
        "spec-url",
        "/swagger/" + version + "/" + apiversion + "/swagger.json"
      );
    } else if (pathName.indexOf("functions-rest-api") >= 0) {
      redoc.setAttribute(
        "spec-url",
        "/swagger/" + version + "/" + apiversion + "/swaggerfunctions.json"
      );
    } else if (pathName.indexOf("source-rest-api") >= 0) {
      redoc.setAttribute(
        "spec-url",
        "/swagger/" + version + "/" + apiversion + "/swaggersource.json"
      );
    } else if (pathName.indexOf("sink-rest-api") >= 0) {
      redoc.setAttribute(
        "spec-url",
        "/swagger/" + version + "/" + apiversion + "/swaggersink.json"
      );
    } else if (pathName.indexOf("packages-rest-api") >= 0) {
      redoc.setAttribute(
        "spec-url",
        "/swagger/" + version + "/" + apiversion + "/swaggerpackages.json"
      );
    } else if (pathName.indexOf("transactions-rest-api") >= 0) {
      redoc.setAttribute(
        "spec-url",
        "/swagger/" + version + "/" + apiversion + "/swaggertransactions.json"
      );
    } else if (pathName.indexOf("lookup-rest-api") >= 0) {
      redoc.setAttribute(
        "spec-url",
        "/swagger/" + version + "/" + apiversion + "/swaggerlookup.json"
      );
    }
    redoc.setAttribute("lazy-rendering", "true");
    const redocLink = document.createElement("script");
    redocLink.setAttribute(
      "src",
      "https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js"
    );
    const script = document.querySelector(".container script");
    wrapper.insertBefore(redoc, script);
    wrapper.insertBefore(redocLink, script);
  }