async FabricUrl({
    libraryId,
    objectId,
    versionHash,
    partHash,
    rep,
    publicRep,
    call,
    queryParams={},
    channelAuth=false,
    noAuth=false,
    noCache=false
  }) {
    if(versionHash) { objectId = this.utils.DecodeVersionHash(versionHash).objectId; }

    // Clone queryParams to avoid modification of the original
    queryParams = {...queryParams};

    queryParams.authorization = await this.authClient.AuthorizationToken({libraryId, objectId, versionHash, channelAuth, noAuth, noCache});

    let path = "";
    if(libraryId) {
      path = UrlJoin(path, "qlibs", libraryId);

      if(objectId || versionHash) {
        path = UrlJoin(path, "q", versionHash || objectId);
      }
    } else if(versionHash) {
      path = UrlJoin("q", versionHash);
    }

    if(partHash){
      path = UrlJoin(path, "data", partHash);
    } else if(rep) {
      path = UrlJoin(path, "rep", rep);
    } else if(publicRep) {
      path = UrlJoin(path, "public", publicRep);
    } else if(call) {
      path = UrlJoin(path, "call", call);
    }

    return this.HttpClient.URL({
      path,
      queryParams
    });
  }
/**
   * Generate a URL to the specified item in the content fabric with appropriate authorization token.
   *
   * @methodGroup URL Generation
   * @namedParams
   * @param {string=} libraryId - ID of an library
   * @param {string=} objectId - ID of an object
   * @param {string=} versionHash - Hash of an object version
   * @param {string=} partHash - Hash of a part - Requires object ID
   * @param {string=} rep - Rep parameter of the url
   * @param {string=} publicRep - Public rep parameter of the url
   * @param {string=} call - Bitcode method to call
   * @param {Object=} queryParams - Query params to add to the URL
   * @param {boolean=} channelAuth=false - If specified, state channel authorization will be used instead of access request authorization
   * @param {boolean=} noAuth=false - If specified, authorization will not be performed and the URL will not have an authorization
   * token. This is useful for accessing public assets.
   * @param {boolean=} noCache=false - If specified, a new access request will be made for the authorization regardless of
   * whether such a request exists in the client cache. This request will not be cached. This option has no effect if noAuth is true.
   *
   * @returns {Promise<string>} - URL to the specified endpoint with authorization token
   */
Generate a URL to the specified item in the content fabric with appropriate authorization token.

@returns {Promise} - URL to the specified endpoint with authorization token
Generate a URL to the specified item in the content fabric with appropriate authorization token . @returns { Promise } - URL to the specified endpoint with authorization token
async FabricUrl({
    libraryId,
    objectId,
    versionHash,
    partHash,
    rep,
    publicRep,
    call,
    queryParams={},
    channelAuth=false,
    noAuth=false,
    noCache=false
  }) {
    if(versionHash) { objectId = this.utils.DecodeVersionHash(versionHash).objectId; }
    queryParams = {...queryParams};
    queryParams.authorization = await this.authClient.AuthorizationToken({libraryId, objectId, versionHash, channelAuth, noAuth, noCache});
    let path = "";
    if(libraryId) {
      path = UrlJoin(path, "qlibs", libraryId);
      if(objectId || versionHash) {
        path = UrlJoin(path, "q", versionHash || objectId);
      }
    } else if(versionHash) {
      path = UrlJoin("q", versionHash);
    }
    if(partHash){
      path = UrlJoin(path, "data", partHash);
    } else if(rep) {
      path = UrlJoin(path, "rep", rep);
    } else if(publicRep) {
      path = UrlJoin(path, "public", publicRep);
    } else if(call) {
      path = UrlJoin(path, "call", call);
    }
    return this.HttpClient.URL({
      path,
      queryParams
    });
  }
async FabricUrl ( { libraryId , objectId , versionHash , partHash , rep , publicRep , call , queryParams = { } , channelAuth = false , noAuth = false , noCache = false } ) { if ( versionHash ) { objectId = this . utils . DecodeVersionHash ( versionHash ) . objectId ; } queryParams = { ... queryParams } ; queryParams . authorization = await this . authClient . AuthorizationToken ( { libraryId , objectId , versionHash , channelAuth , noAuth , noCache } ) ; let path = "" ; if ( libraryId ) { path = UrlJoin ( path , "qlibs" , libraryId ) ; if ( objectId || versionHash ) { path = UrlJoin ( path , "q" , versionHash || objectId ) ; } } else if ( versionHash ) { path = UrlJoin ( "q" , versionHash ) ; } if ( partHash ) { path = UrlJoin ( path , "data" , partHash ) ; } else if ( rep ) { path = UrlJoin ( path , "rep" , rep ) ; } else if ( publicRep ) { path = UrlJoin ( path , "public" , publicRep ) ; } else if ( call ) { path = UrlJoin ( path , "call" , call ) ; } return this . HttpClient . URL ( { path , queryParams } ) ; }
Generate a URL to the specified item in the content fabric with appropriate authorization token.
Generate a URL to the specified item in the content fabric with appropriate authorization token .
// Clone queryParams to avoid modification of the original