当前位置: 首页>>代码示例>>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;未经允许,请勿转载。