Heroku
tcp/443 tcp/80
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1a8bcc6e527dc478bb83ac51d12cf14bf7ea337eff98a2398
Public Swagger UI/API detected at path: /webjars/swagger-ui/index.html - sample paths:
DELETE /api/terrains/{terrainId}/domains/{domainId}
DELETE /api/terrains/{terrainId}/domains/{domainId}/predicates/{predicateId}
GET /api/configs/area-status
GET /api/configs/asset-types
GET /api/configs/constraint-types
GET /api/configs/domain-types
GET /api/configs/ground-types
GET /api/configs/measurement-types
GET /api/configs/predicate-types
GET /api/mqtt/config/connection
GET /api/mqtt/config/full
GET /api/mqtt/config/health
GET /api/mqtt/config/topics
GET /api/mqtt/health
GET /api/mqtt/ping
GET /api/mqtt/reconnect
GET /api/mqtt/status
GET /api/terrains
GET /api/terrains/{terrainId}
GET /api/terrains/{terrainId}/domains
GET /form
GET /sse/restrictions
POST /match
PUT /api/terrains/{terrainId}/area-constraints
PUT /api/terrains/{terrainId}/domains/{domainId}/predicates/access-time-window
PUT /api/terrains/{terrainId}/domains/{domainId}/predicates/speed-limit
PUT /api/terrains/{terrainId}/move/{newParentId}
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1a8bcc6e527dc478bb83ac51d12cf14bf7ea337eff98a2398
Public Swagger UI/API detected at path: /webjars/swagger-ui/index.html - sample paths:
DELETE /api/terrains/{terrainId}/domains/{domainId}
DELETE /api/terrains/{terrainId}/domains/{domainId}/predicates/{predicateId}
GET /api/configs/area-status
GET /api/configs/asset-types
GET /api/configs/constraint-types
GET /api/configs/domain-types
GET /api/configs/ground-types
GET /api/configs/measurement-types
GET /api/configs/predicate-types
GET /api/mqtt/config/connection
GET /api/mqtt/config/full
GET /api/mqtt/config/health
GET /api/mqtt/config/topics
GET /api/mqtt/health
GET /api/mqtt/ping
GET /api/mqtt/reconnect
GET /api/mqtt/status
GET /api/terrains
GET /api/terrains/{terrainId}
GET /api/terrains/{terrainId}/domains
GET /form
GET /sse/restrictions
POST /match
PUT /api/terrains/{terrainId}/area-constraints
PUT /api/terrains/{terrainId}/domains/{domainId}/predicates/access-time-window
PUT /api/terrains/{terrainId}/domains/{domainId}/predicates/speed-limit
PUT /api/terrains/{terrainId}/move/{newParentId}
Open service 75.2.43.161:443 · api.wayflow-kel.com
2026-01-09 20:10
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 09 Jan 2026 20:10:43 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=DrMwhiCfLrOWKIWwR7b5Mtt046Cj7wHdFY2gQaBjr%2Bg%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1767989443"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=DrMwhiCfLrOWKIWwR7b5Mtt046Cj7wHdFY2gQaBjr%2Bg%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1767989443"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 15.197.129.158:80 · api.wayflow-kel.com
2026-01-09 11:30
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 09 Jan 2026 11:32:00 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=70atDw8c8AMa3liHXFliWOd0ayEUlmGSe39wW%2FOVYnY%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1767958320"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=70atDw8c8AMa3liHXFliWOd0ayEUlmGSe39wW%2FOVYnY%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1767958320"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 75.2.43.161:443 · api.wayflow-kel.com
2026-01-02 18:05
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 02 Jan 2026 18:05:59 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=2xvPMMxJcBkhA%2F1BL2dzadyOBrEMx7T%2BVmIMtcQRyiw%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1767377159"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=2xvPMMxJcBkhA%2F1BL2dzadyOBrEMx7T%2BVmIMtcQRyiw%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1767377159"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 15.197.129.158:80 · api.wayflow-kel.com
2026-01-02 03:11
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 02 Jan 2026 03:11:51 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=AgBuAz%2B3Z5W7pyLJAfZARlI4HASWM7%2BPUEyG2Jc3bco%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1767323511"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=AgBuAz%2B3Z5W7pyLJAfZARlI4HASWM7%2BPUEyG2Jc3bco%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1767323511"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 75.2.43.161:443 · api.wayflow-kel.com
2025-12-22 20:42
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Mon, 22 Dec 2025 20:42:09 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=Nw5%2BZK7ZZDwORPz%2Fdd2dNltIn7hihltvhLv1Xbwd9IA%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766436129"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Nw5%2BZK7ZZDwORPz%2Fdd2dNltIn7hihltvhLv1Xbwd9IA%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766436129"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 15.197.129.158:80 · api.wayflow-kel.com
2025-12-22 06:16
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Mon, 22 Dec 2025 06:16:52 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=AmOPzFsIYg6DUuG3Rc3pXmolngE3Abdlwy4%2Bs5JZmM0%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766384212"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=AmOPzFsIYg6DUuG3Rc3pXmolngE3Abdlwy4%2Bs5JZmM0%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766384212"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 75.2.43.161:443 · api.wayflow-kel.com
2025-12-21 02:14
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Sun, 21 Dec 2025 02:14:53 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=WgT3NHaKXFMRI1zy7MPyLq6SDbhcqD1oNUE7uG%2FLzr4%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766283293"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=WgT3NHaKXFMRI1zy7MPyLq6SDbhcqD1oNUE7uG%2FLzr4%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766283293"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 15.197.129.158:80 · api.wayflow-kel.com
2025-12-20 20:07
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Sat, 20 Dec 2025 20:08:00 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=jHQUR5ddylE2BOmz1vkYr2fojSiqBQHj2t%2Fo4s6iCKo%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766261280"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=jHQUR5ddylE2BOmz1vkYr2fojSiqBQHj2t%2Fo4s6iCKo%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766261280"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 75.2.43.161:443 · api.wayflow-kel.com
2025-12-19 06:49
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 06:49:15 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=FN3RD5H0e1e9ZdgQPh2yaiwUj5jR54WS5cIDh7EWfuQ%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766126955"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=FN3RD5H0e1e9ZdgQPh2yaiwUj5jR54WS5cIDh7EWfuQ%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766126955"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 76.223.11.49:80 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:22 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106142"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106142"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 75.2.43.161:80 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:22 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106142"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106142"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 15.197.129.158:443 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:19 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106139"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106139"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 76.223.11.49:443 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:19 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106139"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106139"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 75.2.43.161:443 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:19 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106139"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106139"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 99.83.217.1:80 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:22 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106142"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106142"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 99.83.217.1:443 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:19 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106139"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Alirjr1UuAJTGL%2FqHV1oufMsParyclPb%2BXYkbtqFDWM%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106139"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>
Open service 15.197.129.158:80 · api.wayflow-kel.com
2025-12-19 01:02
HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Date: Fri, 19 Dec 2025 01:02:22 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D\u0026sid=c4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts=1766106142"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=rNbSIpgaCPvfTKVQ8jD5xPuPamkR6suM3XFVeaG5aQc%3D&sid=c4c9725f-1ab0-44d8-820f-430df2718e11&ts=1766106142"
Server: Heroku
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Via: 1.1 heroku-router
Content-Length: 1546
Connection: close
Page title: DSL Playground
<!DOCTYPE html>
<html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.badge {
display: inline-block;
padding: 0.25em 0.6em;
margin: 0.2em;
font-size: 0.85em;
font-weight: 600;
border-radius: 0.5em;
color: white;
}
.badge-type { background-color: #0d6efd; color: white; }
.badge-operator { background-color: #6c757d; color: white; }
.badge-threshold { background-color: #198754; color: white; }
.badge-ref { background-color: #6f42c1; color: white; }
.badge-block-grant { background-color: #28a745; color: white; } /* Green */
.badge-block-deny { background-color: #dc3545; color: white; } /* Red */
</style>
<head>
<title>DSL Playground</title>
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
<style>
textarea { width: 100%; height: 200px; }
pre { background: #f5f5f5; padding: 10px; }
</style>
</head>
<body>
<h1>DSL Playground</h1>
<form hx-post="/parse" hx-target="#result" hx-swap="innerHTML">
<textarea name="dslContent" placeholder="Paste your DSL here...">
(vondelpark-access
(grant-access
(vehicle-match >= 0.8 using reference as carqon-cargo-bike)
)
)
(zuidas-zone (deny-access
(vehicle-match <= 0.2 using reference as urban-arrow-cargo-bike)
)
)
</textarea>
<br>
<button type="submit">Parse DSL</button>
</form>
<div id="result">
<p><i>Parsed output will appear here...</i></p>
</div>
</body>
</html>