emptygif
Idioma: Português

Todas as linguagens e frameworks

Drogon C++

Um snippet em C++ para Drogon que responde às requisições para /pixel.gif com o GIF vazio, decodificado uma única vez na inicialização.

Drogon C++

Arquivo
main.cpp
Executar
cmake -B build && cmake --build build && ./build/pixel
#include <drogon/drogon.h>

#include <string>

using namespace drogon;

static const unsigned char GIF[] = {0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x21, 0xf9, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b};

int main() {
    static const std::string body(reinterpret_cast<const char *>(GIF), sizeof GIF);

    app().registerHandler(
        "/pixel.gif",
        [](const HttpRequestPtr &, std::function<void(const HttpResponsePtr &)> &&callback) {
            auto resp = HttpResponse::newHttpResponse();
            resp->setContentTypeCode(CT_IMAGE_GIF);
            resp->addHeader("Cache-Control", "no-store");
            resp->setBody(body);
            callback(resp);
        },
        {Get});

    app().addListener("0.0.0.0", 8080).run();
}

Conferido com a documentação atual do framework.

Verificar

curl -sI http://localhost:8080/pixel.gif

Site oficial: Drogon

Mais em C++