2023-04-03 09:32:26 +00:00
|
|
|
#pragma once
|
|
|
|
|
2023-04-03 15:27:07 +00:00
|
|
|
#include <optional>
|
|
|
|
|
2023-04-03 09:32:26 +00:00
|
|
|
#include <httplib/httplib.h>
|
2023-04-06 12:24:09 +00:00
|
|
|
#include "blankie/murl.h"
|
2023-04-03 09:32:26 +00:00
|
|
|
#include "blankie/serializer.h"
|
|
|
|
|
|
|
|
struct Config; // forward declaration from config.h
|
2023-04-28 09:00:21 +00:00
|
|
|
struct Illusts; // forward declaration from pixivmodels.h
|
2023-04-03 09:32:26 +00:00
|
|
|
using Element = blankie::html::Element;
|
2023-06-04 06:22:19 +00:00
|
|
|
using Node = blankie::html::Node;
|
|
|
|
using Nodes = std::vector<Node>;
|
2023-04-03 09:32:26 +00:00
|
|
|
|
2023-06-04 06:22:19 +00:00
|
|
|
void serve(const httplib::Request& req, httplib::Response& res, const Config& config, std::string title, Element element, Nodes extra_head = {});
|
2023-04-03 15:27:07 +00:00
|
|
|
void serve_error(const httplib::Request& req, httplib::Response& res, const Config& config,
|
|
|
|
std::string title, std::optional<std::string> subtitle = std::nullopt, std::optional<std::string> info = std::nullopt);
|
2023-06-07 09:16:03 +00:00
|
|
|
void serve_redirect(const httplib::Request& req, httplib::Response& res, const Config& config, std::string url, bool permanent = false);
|
2023-04-28 09:00:21 +00:00
|
|
|
|
2023-04-03 14:40:34 +00:00
|
|
|
std::string get_origin(const httplib::Request& req, const Config& config);
|
2023-04-09 17:34:13 +00:00
|
|
|
std::string proxy_url(blankie::murl::Url base, blankie::murl::Url url);
|
2023-06-07 09:16:03 +00:00
|
|
|
std::string proxy_image_url(const httplib::Request& req, const Config& config, blankie::murl::Url url);
|
2023-05-12 09:56:22 +00:00
|
|
|
bool should_send_304(const httplib::Request& req, uint64_t hash);
|
2023-04-28 09:00:21 +00:00
|
|
|
|
|
|
|
Element generate_illusts_pager(const httplib::Request& req, const Config& config, const Illusts& illusts, size_t page, const char* id);
|