Lines Matching +full:x +full:- +full:age

50     const NO_TRANSFORM = "no-transform";
63 … $controller->register_hook('FETCH_MEDIA_STATUS', 'BEFORE', $this, 'handleMediaStatus', array());
69 $controller->register_hook('MEDIA_SENDFILE', 'BEFORE', $this, 'handleSendFile', array());
95 $event->data['download'] = false;
97 $event->data['status'] = HttpResponseStatus::NOT_AUTHORIZED;
110 $fetcher = $executionContext->createPathMainFetcherFromUrl($fetchUrl);
111 $fetchPath = $fetcher->getFetchPath();
112 $filePath = $fetchPath->toAbsoluteId();
127 ->response()
128 ->setStatus(400)
129->setBodyAsJsonMessage("The `useSlash` configuration should be enabled when the `useRewrite` is `h…
130 ->end();
133 ->response()
134 ->setStatus(404)
135 ->end();
139 $event->data['file'] = $filePath;
140 $event->data['status'] = HttpResponseStatus::ALL_GOOD;
141 $mime = $fetcher->getMime();
142 $event->data["mime"] = $mime->toString();
146 if ($mime->isImage() || in_array($mime->toString(), [Mime::JAVASCRIPT, Mime::CSS])) {
147 $event->data['download'] = false;
149 $event->data['download'] = true;
151 $event->data['statusmessage'] = '';
155 ->response()
156 ->setException($e)
157 ->setStatusAndBodyFromException($e)
158 ->end();
160 …//$event->data['file'] = WikiPath::createComboResource("images:error-bad-format.svg")->toLocalPath…
161 $event->data['file'] = "error.json";
162 $event->data['statusmessage'] = $e->getMessage();
163 //$event->data['status'] = $httpResponse->getStatus();
164 $event->data['mime'] = Mime::JSON;
174 if (ExecutionContext::getActualOrCreateFromEnv()->response()->hasEnded()) {
189 $originalFile = $event->data["orig"]; // the original file
190 $physicalFile = $event->data["file"]; // the file modified or the file to send
215 $dokuPath = $mediaToSend->toWikiPath();
218 LogUtility::msg("Error: {$e->getMessage()}");
221 if (!$dokuPath->isPublic()) {
230 * in {@link sendFile()}, DokuWiki set the `Cache-Control` and
234 * header("Cache-Control: public, max-age=$infiniteMaxAge, s-maxage=$infiniteMaxAge");
246 $cacheControlDirective = ["public", "max-age=$infiniteMaxAge", "immutable"];
248 if ($mediaToSend->getExtension() === "js") {
251 // no-transform will avoid that
257 header("Cache-Control: " . implode(", ", $cacheControlDirective));
268 * Last-Modified is not needed for the same reason
276 $excutingContext->response()
277 ->setStatus(HttpResponseStatus::INTERNAL_ERROR)
278 ->setEvent($event)
279 ->setCanonical(self::CANONICAL)
280->setBodyAsJsonMessage("We were unable to get the etag because the media was not found. Error: {$e
281 ->end();
297 ->response()
298 ->setStatus(HttpResponseStatus::NOT_MODIFIED)
299 ->setEvent($event)
300 ->setCanonical(self::CANONICAL)
301 ->end();
314 $excutingContext->response()
315 ->setStatus(HttpResponseStatus::INTERNAL_ERROR)
316 ->setEvent($event)
317 ->setCanonical(self::CANONICAL)
318 ->setBodyAsJsonMessage("Mime not found")
319 ->end();
322 $download = $event->data["download"];
323 if ($download && $mime->toString() !== "image/svg+xml") {
324 header('Content-Disposition: attachment;' . rfc2231_encode(
328 header('Content-Disposition: inline;' . rfc2231_encode(
340 * Use x-sendfile header to pass the delivery to compatible web servers
343 http_sendfile($mediaToSend->toAbsolutePath()->toAbsoluteId());
348 $filePointer = @fopen($mediaToSend->toAbsolutePath()->toAbsoluteId(), "rb");
350 http_rangeRequest($filePointer, FileSystems::getSize($mediaToSend), $mime->toString());
364 $testRequest->addData(HttpResponse::EXIT_KEY, "File Send");
367 $event->stopPropagation();
368 $event->preventDefault();
372 $excutingContext->response()
373 ->setStatus(HttpResponseStatus::INTERNAL_ERROR)
374 ->setBodyAsJsonMessage("Could not read $mediaToSend - bad permissions?")
375 ->end();
382 * @param Array $properties - the query properties
390 $etagString = FileSystems::getModifiedTime($mediaFile)->format('r');