Skip to content

Commit d68822e

Browse files
MDA2AVclaude
andcommitted
Add 11 new test target servers across 4 new language categories
New servers: Node, Gin, FastHTTP, Hyper, ServiceStack, Redkale, Drogon, Lithium, HAProxy, Envoy, Traefik. Introduces Go and C++ as language categories, plus 3 proxy/load-balancer targets. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent b7493ca commit d68822e

43 files changed

Lines changed: 454 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Http11Probe.slnx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
<Project Path="src/Servers/SimpleWServer/SimpleWServer.csproj" />
1313
<Project Path="src/Servers/SiskServer/SiskServer.csproj" />
1414
<Project Path="src/Servers/WatsonServer/WatsonServer.csproj" />
15+
<Project Path="src/Servers/ServiceStackServer/ServiceStackServer.csproj" />
1516
</Folder>
1617
</Solution>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
cmake_minimum_required(VERSION 3.16)
2+
project(drogon-server)
3+
4+
set(CMAKE_CXX_STANDARD 17)
5+
6+
find_package(Drogon REQUIRED)
7+
8+
add_executable(drogon-server main.cc)
9+
target_link_libraries(drogon-server PRIVATE Drogon::Drogon)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM drogonframework/drogon AS build
2+
WORKDIR /src
3+
COPY src/Servers/DrogonServer/CMakeLists.txt .
4+
COPY src/Servers/DrogonServer/main.cc .
5+
RUN mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc)
6+
7+
FROM ubuntu:24.04
8+
RUN apt-get update && apt-get install -y --no-install-recommends \
9+
libjsoncpp25 libssl3t64 libuuid1 zlib1g libbrotli1 && \
10+
rm -rf /var/lib/apt/lists/*
11+
COPY --from=build /src/build/drogon-server /usr/local/bin/
12+
ENTRYPOINT ["drogon-server", "8080"]

src/Servers/DrogonServer/main.cc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#include <drogon/drogon.h>
2+
#include <cstdlib>
3+
4+
int main(int argc, char *argv[]) {
5+
int port = 8080;
6+
if (argc > 1) port = std::atoi(argv[1]);
7+
8+
drogon::app()
9+
.registerHandlerViaRegex(
10+
"/.*",
11+
[](const drogon::HttpRequestPtr &req,
12+
std::function<void(const drogon::HttpResponsePtr &)> &&callback) {
13+
auto resp = drogon::HttpResponse::newHttpResponse();
14+
resp->setStatusCode(drogon::k200OK);
15+
resp->setContentTypeCode(drogon::CT_TEXT_PLAIN);
16+
resp->setBody("OK");
17+
callback(resp);
18+
})
19+
.addListener("0.0.0.0", port)
20+
.setThreadNum(1)
21+
.run();
22+
23+
return 0;
24+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name": "Drogon", "language": "C++"}

src/Servers/EnvoyServer/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
FROM envoyproxy/envoy:v1.32-latest
2+
COPY src/Servers/EnvoyServer/envoy.yaml /etc/envoy/envoy.yaml

src/Servers/EnvoyServer/envoy.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
static_resources:
2+
listeners:
3+
- name: listener_0
4+
address:
5+
socket_address:
6+
address: 0.0.0.0
7+
port_value: 8080
8+
filter_chains:
9+
- filters:
10+
- name: envoy.filters.network.http_connection_manager
11+
typed_config:
12+
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
13+
stat_prefix: ingress_http
14+
http_filters:
15+
- name: envoy.filters.http.router
16+
typed_config:
17+
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
18+
route_config:
19+
virtual_hosts:
20+
- name: local_service
21+
domains: ["*"]
22+
routes:
23+
- match:
24+
prefix: "/"
25+
direct_response:
26+
status: 200
27+
body:
28+
inline_string: "OK"

src/Servers/EnvoyServer/probe.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name": "Envoy", "language": "C++"}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM golang:1.23-alpine AS build
2+
WORKDIR /src
3+
COPY src/Servers/FastHttpServer/go.mod .
4+
COPY src/Servers/FastHttpServer/main.go .
5+
RUN go mod tidy && CGO_ENABLED=0 go build -o /fasthttp-server .
6+
7+
FROM alpine:3.20
8+
COPY --from=build /fasthttp-server /usr/local/bin/
9+
ENTRYPOINT ["fasthttp-server", "8080"]

src/Servers/FastHttpServer/go.mod

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module fasthttp-server
2+
3+
go 1.23
4+
5+
require github.com/valyala/fasthttp v1.58.0

0 commit comments

Comments
 (0)