mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
Added forceBypassCache property to request model.
This commit is contained in:
@@ -23,6 +23,7 @@ import { TaskResponseParsingService } from '../tasks/task-response-parsing.servi
|
|||||||
|
|
||||||
export abstract class RestRequest {
|
export abstract class RestRequest {
|
||||||
public responseMsToLive = 10 * 1000;
|
public responseMsToLive = 10 * 1000;
|
||||||
|
public forceBypassCache = false;
|
||||||
constructor(
|
constructor(
|
||||||
public uuid: string,
|
public uuid: string,
|
||||||
public href: string,
|
public href: string,
|
||||||
@@ -281,6 +282,7 @@ export class UpdateMetadataFieldRequest extends PutRequest {
|
|||||||
* Class representing a submission HTTP GET request object
|
* Class representing a submission HTTP GET request object
|
||||||
*/
|
*/
|
||||||
export class SubmissionRequest extends GetRequest {
|
export class SubmissionRequest extends GetRequest {
|
||||||
|
forceBypassCache = true;
|
||||||
constructor(uuid: string, href: string) {
|
constructor(uuid: string, href: string) {
|
||||||
super(uuid, href);
|
super(uuid, href);
|
||||||
}
|
}
|
||||||
|
@@ -148,7 +148,7 @@ export class RequestService {
|
|||||||
*/
|
*/
|
||||||
configure<T extends CacheableObject>(request: RestRequest): void {
|
configure<T extends CacheableObject>(request: RestRequest): void {
|
||||||
const isGetRequest = request.method === RestRequestMethod.GET;
|
const isGetRequest = request.method === RestRequestMethod.GET;
|
||||||
if (!isGetRequest || !this.isCachedOrPending(request)) {
|
if (!isGetRequest || request.forceBypassCache || !this.isCachedOrPending(request)) {
|
||||||
this.dispatchRequest(request);
|
this.dispatchRequest(request);
|
||||||
if (isGetRequest) {
|
if (isGetRequest) {
|
||||||
this.trackRequestsOnTheirWayToTheStore(request);
|
this.trackRequestsOnTheirWayToTheStore(request);
|
||||||
|
@@ -60,7 +60,8 @@ describe('SubmissionRestService test suite', () => {
|
|||||||
it('should configure a new SubmissionRequest', () => {
|
it('should configure a new SubmissionRequest', () => {
|
||||||
const expected = new SubmissionRequest(requestService.generateRequestId(), resourceHref);
|
const expected = new SubmissionRequest(requestService.generateRequestId(), resourceHref);
|
||||||
// set cache time to zero
|
// set cache time to zero
|
||||||
expected.responseMsToLive = 10 * 1000;
|
expected.responseMsToLive = 0;
|
||||||
|
expected.forceBypassCache = true;
|
||||||
scheduler.schedule(() => service.getDataById(resourceEndpoint, resourceScope).subscribe());
|
scheduler.schedule(() => service.getDataById(resourceEndpoint, resourceScope).subscribe());
|
||||||
scheduler.flush();
|
scheduler.flush();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user