diff --git a/package.json b/package.json index 857eb15..2f95851 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "simplerestclients", - "version": "0.1.7", + "version": "0.1.8", "description": "A library of components for accessing RESTful services with javascript/typescript.", "author": "David de Regt ", "scripts": { diff --git a/src/SimpleWebRequest.ts b/src/SimpleWebRequest.ts index cd222f4..35f9653 100644 --- a/src/SimpleWebRequest.ts +++ b/src/SimpleWebRequest.ts @@ -111,6 +111,8 @@ export interface WebRequestOptions { // Overrides all other headers. augmentHeaders?: Headers; + streamingDownloadProgress?: (responseText: string) => void; + onProgress?: (progressEvent: XMLHttpRequestProgressEvent) => void; customErrorHandler?: (webRequest: SimpleWebRequestBase, errorResponse: WebErrorResponse) => ErrorHandlingType; @@ -274,6 +276,10 @@ export abstract class SimpleWebRequestBase { + if (this._xhr!!!.readyState === 3 && this._options.streamingDownloadProgress) { + this._options.streamingDownloadProgress(this._xhr!!!.responseText); + } + if (this._xhr!!!.readyState !== 4) { // Wait for it to finish return;