Skip to content

Commit 052dd2b

Browse files
committed
feat: add ETag header to GET handler and fix tests
1 parent 9ec4cc6 commit 052dd2b

2 files changed

Lines changed: 4 additions & 0 deletions

File tree

src/webdav/handlers/GET.handler.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export class GETRequestHandler implements WebDavMethodHandler {
2828

2929
res.header('Content-Type', 'application/octet-stream');
3030
res.header('Accept-Ranges', 'bytes');
31+
res.header('ETag', WebDavUtils.getItemETag(driveFile));
3132

3233
const fileSize = driveFile.size ?? 0;
3334

test/webdav/handlers/GET.handler.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ describe('GET request handler', () => {
9292
expect(response.status).toHaveBeenCalledWith(200);
9393
expect(response.header).toHaveBeenCalledWith('Content-length', mockFile.size.toString());
9494
expect(response.header).toHaveBeenCalledWith('Content-Type', 'application/octet-stream');
95+
expect(response.header).toHaveBeenCalledWith('ETag', WebDavUtils.getItemETag(mockFile));
9596
expect(getRequestedResourceStub).toHaveBeenCalledOnce();
9697
expect(getFileMetadataStub).toHaveBeenCalledOnce();
9798
expect(authDetailsStub).toHaveBeenCalledOnce();
@@ -147,6 +148,7 @@ describe('GET request handler', () => {
147148
expect(response.status).toHaveBeenCalledWith(200);
148149
expect(response.header).toHaveBeenCalledWith('Content-length', (mockSize - rangeStart).toString());
149150
expect(response.header).toHaveBeenCalledWith('Content-Type', 'application/octet-stream');
151+
expect(response.header).toHaveBeenCalledWith('ETag', WebDavUtils.getItemETag(mockFile));
150152
expect(getRequestedResourceStub).toHaveBeenCalledOnce();
151153
expect(getFileMetadataStub).toHaveBeenCalledOnce();
152154
expect(authDetailsStub).toHaveBeenCalledOnce();
@@ -190,6 +192,7 @@ describe('GET request handler', () => {
190192
expect(response.status).toHaveBeenCalledWith(200);
191193
expect(response.header).toHaveBeenCalledWith('Content-length', Number(0).toString());
192194
expect(response.header).toHaveBeenCalledWith('Content-Type', 'application/octet-stream');
195+
expect(response.header).toHaveBeenCalledWith('ETag', WebDavUtils.getItemETag(mockFile));
193196
expect(getRequestedResourceStub).toHaveBeenCalledOnce();
194197
expect(getFileMetadataStub).toHaveBeenCalledOnce();
195198
expect(authDetailsStub).toHaveBeenCalledOnce();

0 commit comments

Comments
 (0)