2016-06-23 09:47:54 -07:00
|
|
|
/**
|
|
|
|
* @license
|
|
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
|
|
* found in the LICENSE file at https://angular.io/license
|
|
|
|
*/
|
|
|
|
|
2016-04-28 17:50:03 -07:00
|
|
|
import {isString} from '../src/facade/lang';
|
2016-06-08 16:38:52 -07:00
|
|
|
|
2015-12-03 22:44:14 +01:00
|
|
|
import {RequestMethod} from './enums';
|
2015-09-21 10:46:16 +03:00
|
|
|
|
2016-02-01 17:05:50 -08:00
|
|
|
export function normalizeMethodName(method: string | RequestMethod): RequestMethod {
|
2015-09-21 10:46:16 +03:00
|
|
|
if (isString(method)) {
|
|
|
|
var originalMethod = method;
|
2016-02-01 17:05:50 -08:00
|
|
|
method = (<string>method)
|
2016-06-08 16:38:52 -07:00
|
|
|
.replace(
|
|
|
|
/(\w)(\w*)/g,
|
|
|
|
(g0: string, g1: string, g2: string) => g1.toUpperCase() + g2.toLowerCase());
|
2016-08-30 18:07:40 -07:00
|
|
|
method = <RequestMethod>(<{[key: string]: any}>RequestMethod)[method];
|
2015-09-21 10:46:16 +03:00
|
|
|
if (typeof method !== 'number')
|
2016-08-25 00:50:16 -07:00
|
|
|
throw new Error(`Invalid request method. The method "${originalMethod}" is not supported.`);
|
2015-09-21 10:46:16 +03:00
|
|
|
}
|
2016-02-01 17:05:50 -08:00
|
|
|
return <RequestMethod>method;
|
2015-09-21 10:46:16 +03:00
|
|
|
}
|
|
|
|
|
2015-11-19 17:29:41 -08:00
|
|
|
export const isSuccess = (status: number): boolean => (status >= 200 && status < 300);
|
|
|
|
|
2015-11-19 18:47:29 -08:00
|
|
|
export function getResponseURL(xhr: any): string {
|
|
|
|
if ('responseURL' in xhr) {
|
|
|
|
return xhr.responseURL;
|
|
|
|
}
|
|
|
|
if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
|
|
|
|
return xhr.getResponseHeader('X-Request-URL');
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2016-05-27 00:47:20 +02:00
|
|
|
export function stringToArrayBuffer(input: String): ArrayBuffer {
|
|
|
|
let view = new Uint16Array(input.length);
|
|
|
|
for (var i = 0, strLen = input.length; i < strLen; i++) {
|
|
|
|
view[i] = input.charCodeAt(i);
|
2016-02-24 16:37:18 +01:00
|
|
|
}
|
|
|
|
return view.buffer;
|
|
|
|
}
|
|
|
|
|
2016-04-28 17:50:03 -07:00
|
|
|
export {isJsObject} from '../src/facade/lang';
|