mirror of
https://github.com/CHN-beta/nixos.git
synced 2024-10-22 19:18:45 +08:00
packages.mirism: init server
This commit is contained in:
parent
eb886c0c6e
commit
5c5acd7dee
@ -103,7 +103,7 @@ inputs: rec
|
||||
py4vasp = inputs.pkgs.callPackage ./py4vasp.nix { src = inputs.topInputs.py4vasp; };
|
||||
pocketfft = inputs.pkgs.callPackage ./pocketfft.nix { src = inputs.topInputs.pocketfft; };
|
||||
spectroscopy = inputs.pkgs.callPackage ./spectroscopy.nix { src = inputs.topInputs.spectroscopy; };
|
||||
mirism = inputs.pkgs.callPackage ./mirism.nix { inherit biu; stdenv = inputs.pkgs.clang18Stdenv; };
|
||||
mirism = inputs.pkgs.callPackage ./mirism { inherit biu; stdenv = inputs.pkgs.clang18Stdenv; };
|
||||
|
||||
fromYaml = content: builtins.fromJSON (builtins.readFile
|
||||
(inputs.pkgs.runCommand "toJSON" {}
|
||||
|
@ -10,10 +10,11 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
endif()
|
||||
|
||||
find_package(biu REQUIRED)
|
||||
find_package(httplib REQUIRED)
|
||||
|
||||
add_executable(mirism src/main.cpp)
|
||||
target_compile_features(mirism PUBLIC cxx_std_23)
|
||||
target_link_libraries(mirism PRIVATE biu::biu)
|
||||
target_link_libraries(mirism PRIVATE biu::biu httplib::httplib)
|
||||
|
||||
install(TARGETS mirism RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ stdenv, cmake, pkg-config, biu }: stdenv.mkDerivation
|
||||
{ stdenv, cmake, pkg-config, biu, httplib }: stdenv.mkDerivation
|
||||
{
|
||||
name = "mirism";
|
||||
src = ./.;
|
||||
buildInputs = [ biu ];
|
||||
buildInputs = [ biu httplib ];
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
}
|
||||
|
21
packages/mirism/src/main.cpp
Normal file
21
packages/mirism/src/main.cpp
Normal file
@ -0,0 +1,21 @@
|
||||
# include <biu.hpp>
|
||||
# include <httplib.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
using namespace biu::literals;
|
||||
|
||||
httplib::SSLServer srv("/var/lib/acme/debug.mirism.one/fullchain.pem",
|
||||
"/var/lib/acme/debug.mirism.one/key.pem");
|
||||
srv.Get("/", [](const httplib::Request& req, httplib::Response& res) {
|
||||
std::cout << "{}"_f(req.headers) << std::endl;
|
||||
httplib::Client cli("https://github.com");
|
||||
auto upstream_res = cli.Get("/");
|
||||
res.headers = upstream_res->headers;
|
||||
res.body = upstream_res->body;
|
||||
res.status = upstream_res->status;
|
||||
std::cout << "{}"_f(upstream_res->headers) << std::endl;
|
||||
std::cout << "{}"_f(upstream_res->body) << std::endl;
|
||||
});
|
||||
srv.listen("127.0.0.1", 15641);
|
||||
}
|
Loading…
Reference in New Issue
Block a user