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


TypeScript http.Request類代碼示例

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


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

示例1: getContentType

  getContentType(req: ngRequest): string {
    let type = req.headers && req.headers.get('Content-Type');

    if (type) {
      switch (req.detectContentType()) {
        case ContentType.NONE:
          break;
        case ContentType.JSON:
          type = 'application/json';
          break;
        case ContentType.FORM:
          type = 'application/x-www-form-urlencoded;charset=UTF-8';
          break;
        case ContentType.TEXT:
          type = 'text/plain';
          break;
        case ContentType.BLOB:
          const blob = req.blob();
          if (blob.type) {
            type = blob.type;
          }
          break;
      }
    }

    return type;
  }
開發者ID:wdupuy,項目名稱:newzr2,代碼行數:27,代碼來源:fetch_backend.ts

示例2: ResponseOptions

            (responseObserver: Observer<Response>) => {
                const headers = req.headers.toJSON();
                Object.keys(headers).map(function(key) {
                    if (headers[key].length > 1) {
                        throw `Header ${key} contains more than one value`;
                    }
                    headers[key] = headers[key][0];
                });

                let body;

                // 1 stands for ContentType.JSON. Angular doesn't export ContentType
                if (req.detectContentTypeFromBody() === 1) {
                    body = req.json();
                } else {
                    body = this.getBodyParams(req.getBody());
                }

                const requestMethod = this.detectRequestMethod(req);

                /**
                 * Request contains either encoded either decoded URL depended on the way
                 * parameters are passed to Http component. Even though XMLHttpRequest automatically
                 * converts unencoded URL, NativeHTTP requires it to be always encoded.
                 */
                const url = encodeURI(decodeURI(req.url)).replace('%252F', '%2F');

                nativeHttp.setDataSerializer(
                    this.detectDataSerializerType(req),
                );

                nativeHttp[requestMethod](url, body, headers)
                    .then((response: HTTPResponse) => {
                        this.fireResponse(
                            responseObserver,
                            new ResponseOptions({
                                body: response.data,
                                status: response.status,
                                headers: new Headers(response.headers),
                            }),
                            baseResponseOptions,
                        );
                    })
                    .catch((error: HTTPError) => {
                        this.fireResponse(
                            responseObserver,
                            new ResponseOptions({
                                body: error.error,
                                status: error.status || 599, // https://httpstatuses.com/599
                                headers: new Headers(error.headers),
                            }),
                            baseResponseOptions,
                        );
                    });
            },
開發者ID:achubutkin,項目名稱:ionic-native-http-connection-backend,代碼行數:55,代碼來源:native-http-backend.ts

示例3: return

    this.response = new Observable<ngResponse>((responseObserver: Observer<ngResponse>) => {
      // fetch
      var _fetch = browserFetch.build(),
        url = req.url,
        fetchOptions = {
          method: RequestMethod[req.method].toUpperCase(),
          //TODO req.headers.toJSON() (https://angular.io/docs/ts/latest/api/http/index/Headers-class.html)
          headers: {
            'Content-Type': this.getContentType(req)
          },
          body: req.getBody()
        };

      var fetchPromise = _fetch(url, fetchOptions);

      // response
      fetchPromise
        .then((fetchResponse) => this.onSuccess(fetchResponse, responseObserver, baseResponseOptions))
        .catch((error) => this.onError(error, responseObserver, baseResponseOptions));

      // cleanup
      return () => {
        // nothing can be aborted ¯\_(ツ)_/¯
      }
    });
開發者ID:wdupuy,項目名稱:newzr2,代碼行數:25,代碼來源:fetch_backend.ts

示例4: detectDataSerializerType

    private detectDataSerializerType(req: Request): DataSerializerType {
        if (
            req.method === RequestMethod.Post ||
            req.method === RequestMethod.Put
        ) {
            // 1 stands for ContentType.JSON. Angular doesn't export ContentType
            if (req.detectContentTypeFromBody() === 1) {
                return 'json';
            }
        }

        return 'urlencoded';
    }
開發者ID:achubutkin,項目名稱:ionic-native-http-connection-backend,代碼行數:13,代碼來源:native-http-backend.ts

示例5: Observable

    this.response = new Observable((responseObserver: any) => {
      let _xhr: XMLHttpRequest = browserXHR.build();
      _xhr.open(RequestMethod[req.method].toUpperCase(), req.url);
      // load event handler
      let onLoad = () => {
        // responseText is the old-school way of retrieving response (supported by IE8 & 9)
        // response/responseType properties were introduced in XHR Level2 spec (supported by
        // IE10)
        let body = _xhr.response ? _xhr.response : _xhr.responseText;
        let headers = Headers.fromResponseHeaderString(_xhr.getAllResponseHeaders() || "");
        let url = getResponseURL(_xhr);
        let status: number = _xhr.status;

        var responseOptions = new ResponseOptions({body, status, headers, url});
        if (baseResponseOptions) {
          responseOptions = baseResponseOptions.merge(responseOptions);
        }
        let response = new Response(responseOptions);
        if (isSuccess(status)) {
          responseObserver.next(response);
          // TODO(gdi2290): defer complete if array buffer until done
          responseObserver.complete();
          return;
        }
        responseObserver.error(response);
      };

      _xhr.onload = () => this.zone.run(() => onLoad());
      var body = this.request.text();
      if (body && body.length > 0) {
        _xhr.send(body);
      } else {
        _xhr.send();
      }

      return () => {
        _xhr.onload = null;
        _xhr.abort();
      };
    });
開發者ID:angular,項目名稱:react-native-renderer,代碼行數:40,代碼來源:xhr_backend.ts


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