2015-11-06 20:34:07 -05:00
|
|
|
import {isString} from 'angular2/src/facade/lang';
|
2015-12-03 16:44:14 -05:00
|
|
|
import {RequestMethod} from './enums';
|
2015-11-06 20:34:07 -05:00
|
|
|
import {makeTypeError} from 'angular2/src/facade/exceptions';
|
2015-11-19 20:29:41 -05:00
|
|
|
import {Response} from './static_response';
|
2015-09-21 03:46:16 -04:00
|
|
|
|
2015-12-03 16:44:14 -05:00
|
|
|
export function normalizeMethodName(method): RequestMethod {
|
2015-09-21 03:46:16 -04:00
|
|
|
if (isString(method)) {
|
|
|
|
var originalMethod = method;
|
|
|
|
method = method.replace(/(\w)(\w*)/g, (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase());
|
2015-12-03 16:44:14 -05:00
|
|
|
method = RequestMethod[method];
|
2015-09-21 03:46:16 -04:00
|
|
|
if (typeof method !== 'number')
|
|
|
|
throw makeTypeError(
|
|
|
|
`Invalid request method. The method "${originalMethod}" is not supported.`);
|
|
|
|
}
|
|
|
|
return method;
|
|
|
|
}
|
|
|
|
|
2015-11-19 20:29:41 -05:00
|
|
|
export const isSuccess = (status: number): boolean => (status >= 200 && status < 300);
|
|
|
|
|
2015-11-19 21:47:29 -05: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;
|
|
|
|
}
|
|
|
|
|
2015-11-06 20:34:07 -05:00
|
|
|
export {isJsObject} from 'angular2/src/facade/lang';
|