Adapting TS-client to work with non-level-2 xhr
This commit is contained in:
parent
a702713cd4
commit
cddc5f8a75
|
|
@ -33,7 +33,7 @@ export class HttpClient implements IHttpClient {
|
|||
xhr.send(content);
|
||||
xhr.onload = () => {
|
||||
if (xhr.status >= 200 && xhr.status < 300) {
|
||||
resolve(xhr.response);
|
||||
resolve(xhr.response || xhr.responseText);
|
||||
}
|
||||
else {
|
||||
reject(new HttpError(xhr.statusText, xhr.status));
|
||||
|
|
|
|||
|
|
@ -179,6 +179,12 @@ export class LongPollingTransport implements ITransport {
|
|||
connect(url: string, requestedTransferMode: TransferMode): Promise<TransferMode> {
|
||||
this.url = url;
|
||||
this.shouldPoll = true;
|
||||
|
||||
if (requestedTransferMode === TransferMode.Binary && (typeof new XMLHttpRequest().responseType !== "string")) {
|
||||
// This will work if we fix: https://github.com/aspnet/SignalR/issues/742
|
||||
throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");
|
||||
}
|
||||
|
||||
this.poll(this.url, requestedTransferMode);
|
||||
return Promise.resolve(requestedTransferMode);
|
||||
}
|
||||
|
|
@ -197,9 +203,13 @@ export class LongPollingTransport implements ITransport {
|
|||
if (pollXhr.status == 200) {
|
||||
if (this.onDataReceived) {
|
||||
try {
|
||||
if (pollXhr.response) {
|
||||
this.logger.log(LogLevel.Information, `(LongPolling transport) data received: ${pollXhr.response}`);
|
||||
this.onDataReceived(pollXhr.response);
|
||||
let response = transferMode === TransferMode.Text
|
||||
? pollXhr.responseText
|
||||
: pollXhr.response;
|
||||
|
||||
if (response) {
|
||||
this.logger.log(LogLevel.Information, `(LongPolling transport) data received: ${response}`);
|
||||
this.onDataReceived(response);
|
||||
}
|
||||
else {
|
||||
this.logger.log(LogLevel.Information, "(LongPolling transport) timed out");
|
||||
|
|
|
|||
|
|
@ -4,4 +4,4 @@ export * from "./HttpClient"
|
|||
export * from "./HubConnection"
|
||||
export * from "./Transports"
|
||||
export * from "./Loggers"
|
||||
|
||||
export * from "./MessagePackHubProtocol"
|
||||
|
|
|
|||
Loading…
Reference in New Issue