[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/expresscpp/expresscpp/master/test/serve_favicon.cpp [Back]  [Original]

#include "expresscpp/console.hpp"
#include "expresscpp/expresscpp.hpp"
#include "expresscpp/fetch.hpp"
#include "expresscpp/middleware/serve_favicon_provider.hpp"
#include "gtest/gtest.h"

using namespace expresscpp;

constexpr uint16_t port = 8081u;

TEST(FaviconTests, ServeFavicon) {
  ExpressCpp app;

  Console::setLogLevel(LogLevel::kDebug);

  FaviconProvider favicon_provider;

  app.Use(favicon_provider);

  app.Use([](auto /*req*/, auto res, auto /*next*/) {
    if (!res->ResponseSent()) {
      res->Send("resource not found");
    }
  });

  // start listening for requests and block until ctrl+C
  app.Listen(port, [=](auto ec) {
    EXPECT_FALSE(ec);

    const auto get_response = fetch(fmt::format("localhost:{}/favicon.ico", port));
    auto expected_size = favicon_provider.GetFavicon().size();
    auto actual_size = get_response.size();
    EXPECT_EQ(expected_size, actual_size);
  });
}

Web Proxy Viewer  |  New URL  |  Original Page