Handle 304s for remote resources

Now that we send along etag caching headers, the remote can return 304s. Make sure we forward these
This commit is contained in:
Matt Bierner 2021-02-08 21:00:12 -08:00
parent 29844a0baf
commit 518097377d
2 changed files with 10 additions and 4 deletions

View file

@ -137,10 +137,16 @@ export async function loadLocalResource(
logService.debug(`loadLocalResource - Loaded over http(s). requestUri=${requestUri}, response=${response.res.statusCode}`);
if (response.res.statusCode === 200) {
return new WebviewResourceResponse.StreamSuccess(response.stream, response.res.headers['etag'], mime);
switch (response.res.statusCode) {
case 200:
return new WebviewResourceResponse.StreamSuccess(response.stream, response.res.headers['etag'], mime);
case 304: // Not modified
return new WebviewResourceResponse.NotModified(mime);
default:
return WebviewResourceResponse.Failed;
}
return WebviewResourceResponse.Failed;
}
try {

View file

@ -224,7 +224,7 @@ export class WebviewProtocolProvider extends Disposable {
}, fileReader, this.requestService, this.logService, CancellationToken.None);
switch (result.type) {
case WebviewFileReadResponse.Type.Success:
case WebviewResourceResponse.Type.Success:
{
const cacheHeaders: Record<string, string> = result.etag ? {
'ETag': result.etag,