Caddy

Language: Go · View source on GitHub

Dockerfile

FROM caddy:2
COPY src/Servers/CaddyServer/Caddyfile /etc/caddy/Caddyfile
COPY src/Servers/CaddyServer/echo.html /srv/echo.html
COPY src/Servers/CaddyServer/cookie.html /srv/cookie.html

Source

Caddyfile

:8080 {
    request_body {
        max_size 1MB
    }

    @post_root {
        method POST
        path /
    }
    handle @post_root {
        respond "{http.request.body}" 200
    }

    handle /echo {
        root * /srv
        templates {
            mime text/plain
        }
        rewrite * /echo.html
        file_server
    }

    handle /cookie {
        root * /srv
        templates {
            mime text/plain
        }
        rewrite * /cookie.html
        file_server
    }

    respond "OK" 200
}

echo.html

{{range $key, $vals := .Req.Header}}{{range $vals}}{{$key}}: {{.}}
{{end}}{{end}}

cookie.html

{{range .Req.Header.Cookie}}{{range splitList ";" .}}{{trim .}}
{{end}}{{end}}

Test Results

Loading results...

Compliance

Smuggling

Malformed Input

Caching

Cookies