55 lines
2.4 KiB
JavaScript
55 lines
2.4 KiB
JavaScript
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
import { AbortError } from "./Errors";
|
|
import { FetchHttpClient } from "./FetchHttpClient";
|
|
import { HttpClient } from "./HttpClient";
|
|
import { Platform } from "./Utils";
|
|
import { XhrHttpClient } from "./XhrHttpClient";
|
|
/** Default implementation of {@link @microsoft/signalr.HttpClient}. */
|
|
var DefaultHttpClient = /** @class */ (function (_super) {
|
|
__extends(DefaultHttpClient, _super);
|
|
/** Creates a new instance of the {@link @microsoft/signalr.DefaultHttpClient}, using the provided {@link @microsoft/signalr.ILogger} to log messages. */
|
|
function DefaultHttpClient(logger) {
|
|
var _this = _super.call(this) || this;
|
|
if (typeof fetch !== "undefined" || Platform.isNode) {
|
|
_this.httpClient = new FetchHttpClient(logger);
|
|
}
|
|
else if (typeof XMLHttpRequest !== "undefined") {
|
|
_this.httpClient = new XhrHttpClient(logger);
|
|
}
|
|
else {
|
|
throw new Error("No usable HttpClient found.");
|
|
}
|
|
return _this;
|
|
}
|
|
/** @inheritDoc */
|
|
DefaultHttpClient.prototype.send = function (request) {
|
|
// Check that abort was not signaled before calling send
|
|
if (request.abortSignal && request.abortSignal.aborted) {
|
|
return Promise.reject(new AbortError());
|
|
}
|
|
if (!request.method) {
|
|
return Promise.reject(new Error("No method defined."));
|
|
}
|
|
if (!request.url) {
|
|
return Promise.reject(new Error("No url defined."));
|
|
}
|
|
return this.httpClient.send(request);
|
|
};
|
|
DefaultHttpClient.prototype.getCookieString = function (url) {
|
|
return this.httpClient.getCookieString(url);
|
|
};
|
|
return DefaultHttpClient;
|
|
}(HttpClient));
|
|
export { DefaultHttpClient };
|
|
//# sourceMappingURL=DefaultHttpClient.js.map
|