當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript http_request.openShardedHttpRequest函數代碼示例

本文整理匯總了TypeScript中neuroglancer/util/http_request.openShardedHttpRequest函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript openShardedHttpRequest函數的具體用法?TypeScript openShardedHttpRequest怎麽用?TypeScript openShardedHttpRequest使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了openShardedHttpRequest函數的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: start

 function start(credentials: CredentialsWithGeneration<Credentials>) {
   if (xhr === null) {
     return;
   }
   xhr = openShardedHttpRequest(instance.serverUrls, httpCall.path, httpCall.method);
   xhr.responseType = httpCall.responseType;
   xhr.setRequestHeader(
       'Authorization',
       `${credentials.credentials.tokenType} ${credentials.credentials.accessToken}`);
   xhr.onloadend = function(this: XMLHttpRequest) {
     if (xhr === null) {
       return;
     }
     let status = this.status;
     if (status >= 200 && status < 300) {
       cancellationToken.remove(abort);
       resolve(this.response);
     } else if (status === 401) {
       // 401: Authorization needed.  OAuth2 token may have expired.
       credentialsProvider.get(credentials, cancellationToken).then(start);
     } else if (status === 504 || status === 503) {
       // 503: Service unavailable.  Retry.
       // 504: Gateway timeout.  Can occur if the server takes too long to reply.  Retry.
       credentialsProvider.get(/*invalidToken=*/undefined, cancellationToken).then(start);
     } else {
       cancellationToken.remove(abort);
       reject(HttpError.fromXhr(this));
     }
   };
   xhr.send(httpCall.payload);
 }
開發者ID:google,項目名稱:neuroglancer,代碼行數:31,代碼來源:api.ts

示例2: start

 function start(token: Token) {
   if (xhr === null) {
     --numPendingRequests;
     return;
   }
   xhr = openShardedHttpRequest(INSTANCE_BASE_URLS[instance], httpCall.path, httpCall.method);
   xhr.responseType = httpCall.responseType;
   xhr.setRequestHeader('Authorization', `${token['tokenType']} ${token['accessToken']}`);
   xhr.onloadend = function(this: XMLHttpRequest) {
     if (xhr === null) {
       --numPendingRequests;
       return;
     }
     let status = this.status;
     if (status >= 200 && status < 300) {
       --numPendingRequests;
       cancellationToken.remove(abort);
       resolve(this.response);
     } else if (status === 401) {
       // Authorization needed.
       getToken(token).then(start);
     } else if (status === 504) {
       // Gateway timeout can occur if the server takes too long to reply.  Retry.
       getToken().then(start);
     } else {
       --numPendingRequests;
       cancellationToken.remove(abort);
       reject(HttpError.fromXhr(this));
     }
   };
   xhr.send(httpCall.payload);
 }
開發者ID:janelia-flyem,項目名稱:neuroglancer,代碼行數:32,代碼來源:api.ts

示例3: start

 function start(token: Token) {
   if (xhr === null) {
     --numPendingRequests;
     return;
   }
   xhr = openShardedHttpRequest(INSTANCE_BASE_URLS[instance], path, method);
   xhr.responseType = responseType;
   xhr.setRequestHeader('Authorization', `${token['tokenType']} ${token['accessToken']}`);
   xhr.onloadend = function(this: XMLHttpRequest) {
     if (xhr === null) {
       --numPendingRequests;
       return;
     }
     let status = this.status;
     if (status >= 200 && status < 300) {
       --numPendingRequests;
       resolve(this.response);
     } else if (status === 403 || status === 401) {
       // Authorization needed.
       getToken(token).then(start);
     } else {
       --numPendingRequests;
       reject(HttpError.fromXhr(this));
     }
   };
   xhr.send();
 }
開發者ID:funkey,項目名稱:neuroglancer,代碼行數:27,代碼來源:api.ts

示例4: downloadFragment

 downloadFragment(chunk: FragmentChunk, cancellationToken: CancellationToken) {
   const {parameters} = this;
   const requestPath = `/api/node/${parameters['nodeKey']}/${parameters['dataInstanceKey']}/key/${
       chunk.fragmentId}.ngmesh`;
   return sendHttpRequest(
              openShardedHttpRequest(parameters.baseUrls, requestPath), 'arraybuffer',
              cancellationToken)
       .then(response => decodeFragmentChunk(chunk, response));
 }
開發者ID:google,項目名稱:neuroglancer,代碼行數:9,代碼來源:backend.ts

示例5: getVolumeInfo

export function getVolumeInfo(hostnames: string[], token: string) {
  let fullKey = JSON.stringify({'hostnames': hostnames, 'token': token});
  let result = existingVolumeResponses.get(fullKey);
  if (result !== undefined) {
    return result;
  }
  let promise = sendHttpRequest(openShardedHttpRequest(hostnames, `/ocp/ca/${token}/info/`), 'json');
  existingVolumeResponses.set(fullKey, promise);
  return promise;
}
開發者ID:j6k4m8,項目名稱:neuroglancer,代碼行數:10,代碼來源:frontend.ts

示例6: getShardedVolume

export function getShardedVolume(baseUrls: string[], path: string) {
  let fullKey = stableStringify({'baseUrls': baseUrls, 'path': path});
  let existingResult = existingVolumes.get(fullKey);
  if (existingResult !== undefined) {
    return existingResult;
  }
  let promise = sendHttpRequest(openShardedHttpRequest(baseUrls, path + '/info'), 'json')
                    .then(response => new MultiscaleVolumeChunkSource(baseUrls, path, response));
  existingVolumes.set(fullKey, promise);
  return promise;
}
開發者ID:funkey,項目名稱:neuroglancer,代碼行數:11,代碼來源:frontend.ts

示例7: download

  download(chunk: VolumeChunk) {
    let params = this.parameters;
    let {chunkGridPosition} = chunk;

    // Needed by decoder.
    chunk.chunkDataSize = this.spec.chunkDataSize;
    let path = `/api/node/${params['nodeKey']}/${params['dataInstanceKey']}/tile/${params['dims']}/${params['level']}/${chunkGridPosition[0]}_${chunkGridPosition[1]}_${chunkGridPosition[2]}`;
    handleChunkDownloadPromise(
        chunk, sendHttpRequest(openShardedHttpRequest(params.baseUrls, path), 'arraybuffer'),
      this.chunkDecoder);
  }
開發者ID:j6k4m8,項目名稱:neuroglancer,代碼行數:11,代碼來源:backend.ts

示例8: getPublicTokens

export function getPublicTokens(hostnames: string[]) {
  let key = JSON.stringify(hostnames);
  let result = publicTokenPromises.get(key);
  if (result !== undefined) {
    return result;
  }
  let newResult =
      sendHttpRequest(openShardedHttpRequest(hostnames, '/ocp/ca/public_tokens/'), 'json')
          .then(value => parseArray(value, verifyString));
  publicTokenPromises.set(key, newResult);
  return newResult;
}
開發者ID:j6k4m8,項目名稱:neuroglancer,代碼行數:12,代碼來源:frontend.ts

示例9: download

  download(chunk: SkeletonChunk, cancellationToken: CancellationToken) {
    const {parameters} = this;
    let bodyid = `${chunk.objectId}`;
    const path = `/api/node/${parameters['nodeKey']}/${parameters['dataInstanceKey']}/key/` +
        bodyid + '_swc';

    return sendHttpRequest(
               openShardedHttpRequest(parameters.baseUrls, path), 'arraybuffer', cancellationToken)
        .then(response => {
          let enc = new TextDecoder('utf-8');
          decodeSwcSkeletonChunk(chunk, enc.decode(response));
        });
  }
開發者ID:google,項目名稱:neuroglancer,代碼行數:13,代碼來源:backend.ts


注:本文中的neuroglancer/util/http_request.openShardedHttpRequest函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。