簡體   English   中英

任何人都知道vibe.d在提供靜態文件時是否支持HTTP Byte-Range?

[英]Anyone knows if vibe.d supports HTTP Byte-Range while serve static files?

我在查看vibe-d-0.7.28的源代碼,但fileserver.d沒有顯示任何關於此的信息。 實際上, sendFileImpl()函數是該作業的主要實現,並且沒有對字節范圍頭的任何引用。

你知道這是支持還是有效?

#1634開始,這是可能的:

#!/usr/bin/env dub
/+ dub.sdl:
name "mini_vibed"
dependency "vibe-d" version="~>0.8.0-beta.4"
versions "VibeDefaultMain"
+/

import vibe.d;

shared static this()
{
    auto settings = new HTTPServerSettings;
    settings.port = 8080;

    auto router = new URLRouter;
    router.get("/full_file", (scope req, scope res) {
        auto inStream = openFile(__FILE_FULL_PATH__);
        res.bodyWriter.write(inStream);
    });
    router.get("/partial_file", serveStaticFile(__FILE_FULL_PATH__));
    router.get("*", (scope req, scope res) {
        res.writeBody("Please try /full_file or /partial_file");
    });

    listenHTTP(settings, router);
}

要么chmod +x文件,要么用dub --single運行它。 您可以使用curl來測試它:

curl --header "Range: bytes=0-200" localhost:8080/full_file
curl --header "Range: bytes=0-200" localhost:8080/partial_file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM