
Web Debug Protocol
Union debug protocol for modern web applications. Any language, any framework.
Any language
Protocol can be implemented on any programming language
Framework plug and play
Install bundle for your favorite web framework and its done
Any client
Working in browser dev-tools, API clients like "postman", console utils like curl, etc..
Open source and free
This is open source protocol with MIT license
From scratch..
..can be implemented in hour. Easy as like falling off a log
Scalable
Microservice ready, you can debug nested requests
work in progress
Protocol, scheme, documentation and transports currently in draft
See contact page for any issues, ideas, proposal, etc..
# How it works
# 1. Client makes Request to Application:
https://example.com/hello
# 2. Application return Response with 2 additional headers:
X-Http-Debug-Id: ae1d1530-7c2c-4ff7-bfeb-70f80c8bc7ed
X-Http-Debug-Api: /_profile/?id=
# 3. Client makes request to X-Http-Debug-Api url
https://example.com/_profile/?id=ae1d1530-7c2c-4ff7-bfeb-70f80c8bc7ed
# 4. Application server return debug/profile information for first request
{
"uuid": "ef95a542-25a3-4f71-a0e9-640c92f43813",
"version": 1,
"events": [
{
"type": "log",
"time": 1547058561177,
"importance": 1,
"tags": [
"php:app_03"
],
"payload": {
"message": "User X is try to login to admin panel"
}
},
{
"type": "query",
"time": 1547058563454,
"duration": 18,
"importance": 4,
"payload": {
"target": "mysql",
"query": "UPDATE users SET last_loggin = ?dt WHERE id = ?id",
"syntax": "sql"
},
"success": false,
"nested": [
{
"type": "log",
"time": 1547058571245,
"importance": 5,
"payload": {
"message": "Mysql server is going away!"
}
},
{
"type": "email",
"time": 1547058583422,
"payload": {
"subject": "Mysql is down!",
"body": "<h1>Hello admin</h1> <p>mysql is down.</p>",
"from": "no-reply@example.com",
"to": "admin@example.com"
}
}
]
}
]
}