Added forceBypassCache property to request model.

This commit is contained in:
Michael W Spalti
2019-10-10 16:25:00 -07:00
parent 03a91adfab
commit a7f48865ea
3 changed files with 5 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ import { TaskResponseParsingService } from '../tasks/task-response-parsing.servi
export abstract class RestRequest {
public responseMsToLive = 10 * 1000;
public forceBypassCache = false;
constructor(
public uuid: string,
public href: string,
@@ -281,6 +282,7 @@ export class UpdateMetadataFieldRequest extends PutRequest {
* Class representing a submission HTTP GET request object
*/
export class SubmissionRequest extends GetRequest {
forceBypassCache = true;
constructor(uuid: string, href: string) {
super(uuid, href);
}

View File

@@ -148,7 +148,7 @@ export class RequestService {
*/
configure<T extends CacheableObject>(request: RestRequest): void {
const isGetRequest = request.method === RestRequestMethod.GET;
if (!isGetRequest || !this.isCachedOrPending(request)) {
if (!isGetRequest || request.forceBypassCache || !this.isCachedOrPending(request)) {
this.dispatchRequest(request);
if (isGetRequest) {
this.trackRequestsOnTheirWayToTheStore(request);

View File

@@ -60,7 +60,8 @@ describe('SubmissionRestService test suite', () => {
it('should configure a new SubmissionRequest', () => {
const expected = new SubmissionRequest(requestService.generateRequestId(), resourceHref);
// set cache time to zero
expected.responseMsToLive = 10 * 1000;
expected.responseMsToLive = 0;
expected.forceBypassCache = true;
scheduler.schedule(() => service.getDataById(resourceEndpoint, resourceScope).subscribe());
scheduler.flush();