Skip to content

Commit f56ea59

Browse files
committed
Want-Digest applies to the entire underlying file, not the HTTP payload
1 parent e15d5b4 commit f56ea59

File tree

3 files changed

+9
-36
lines changed

3 files changed

+9
-36
lines changed

src/Model/BasicContainer.php

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public function respond(Application $app, Request $request, array $options = arr
3434
$res->setEtag($this->getEtag($responseFormat, $request->headers->get('range')));
3535

3636
if (!$res->isNotModified($request)) {
37-
$algorithm = $this->getDigestAlgorithm($request->headers->get('want-digest'));
3837
$subject = $request->getUri();
3938
$predicate = self::LDP_NS . "contains";
4039

@@ -92,17 +91,6 @@ public function respond(Application $app, Request $request, array $options = arr
9291
$content = $graph->serialise($responseFormat);
9392
}
9493

95-
if ($request->headers->get('range') === null) {
96-
switch ($algorithm) {
97-
case "md5":
98-
$res->headers->set('Digest', 'md5=' . $this->md5($content));
99-
break;
100-
case "sha1":
101-
$res->headers->set('Digest', 'sha1=' . $this->sha1($content));
102-
break;
103-
}
104-
}
105-
10694
$res->setContent($content);
10795
}
10896

src/Model/NonRDFSource.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ public function respond(Application $app, Request $request, array $options = arr
2626
$res->setLastModified(\DateTime::createFromFormat('U', filemtime($this->path)));
2727
$res->setEtag($this->getEtag($request->headers->get('range')));
2828
if (!$res->isNotModified($request)) {
29-
$algorithm = $this->getDigestAlgorithm($request->headers->get('want-digest'));
30-
switch ($algorithm) {
29+
switch ($this->getDigestAlgorithm($request->headers->get('want-digest'))) {
3130
case "md5":
3231
$res->headers->set('Digest', "md5=" . $this->md5());
3332
break;

src/Model/RDFSource.php

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,15 @@ public function respond(Application $app, Request $request, array $options = arr
3535
$res->headers->set("Link", $link, false);
3636
}
3737
}
38-
39-
$algorithm = $this->getDigestAlgorithm($request->headers->get('want-digest'));
38+
switch ($this->getDigestAlgorithm($request->headers->get('want-digest'))) {
39+
case "md5":
40+
$res->headers->set('Digest', 'md5=' . $this->md5());
41+
break;
42+
case "sha1":
43+
$res->headers->set('Digest', 'sha1=' . $this->sha1());
44+
break;
45+
}
4046
if ($this->canStream($responseFormat)) {
41-
if ($request->headers->get('range') === null) {
42-
switch ($algorithm) {
43-
case "md5":
44-
$res->headers->set('Digest', 'md5=' . $this->md5());
45-
break;
46-
case "sha1":
47-
$res->headers->set('Digest', 'sha1=' . $this->sha1());
48-
break;
49-
}
50-
}
5147
$filename = $this->path;
5248
$stream = function () use ($filename) {
5349
readfile($filename);
@@ -64,16 +60,6 @@ public function respond(Application $app, Request $request, array $options = arr
6460
} else {
6561
$content = $graph->serialise($responseFormat);
6662
}
67-
if ($request->headers->get('range') === null) {
68-
switch ($algorithm) {
69-
case "md5":
70-
$res->headers->set('Digest', 'md5=' . $this->md5($content));
71-
break;
72-
case "sha1":
73-
$res->headers->set('Digest', 'sha1=' . $this->sha1($content));
74-
break;
75-
}
76-
}
7763
$res->setContent($content);
7864
}
7965
}

0 commit comments

Comments
 (0)