@@ -44,6 +44,10 @@ Usage of basichttpdebugger:
44
44
save filename format of raw http (default " %Y-%m-%d-%H%i%s-{hostname}-{url}.raw" )
45
45
-save-raw-http-request
46
46
enable saving of raw http request
47
+ -secret-token string
48
+ your secret token value
49
+ -secret-token-header-name string
50
+ name of your secret token header, e.g. X-Gitlab-Token
47
51
-version
48
52
display version information
49
53
```
@@ -67,6 +71,14 @@ basichttpdebugger -listen ":8000" -hmac-secret "<secret>" -hmac-header-name "<X-
67
71
basichttpdebugger -color -listen " :8000" -hmac-secret " <secret>" -hmac-header-name " <X-HEADER-NAME>"
68
72
```
69
73
74
+ Instead of HMAC validation, you can check against secret token/secret token
75
+ header name. Consider you are testing GitLab webhooks and you’ll receive
76
+ ` X-Gitlab-Token ` with a value ` test ` :
77
+
78
+ ``` bash
79
+ basichttpdebugger -listen " :8000" -secret-token-header-name " X-Gitlab-Token" -secret-token " test"
80
+ ```
81
+
70
82
Instead of standard output, pipe everything to file!
71
83
72
84
``` bash
@@ -134,9 +146,13 @@ go run . -listen ":8000" # listens at :8000
134
146
# or if you have ruby installed, use rake tasks!
135
147
rake # listens at :9002
136
148
LISTEN=" :8000" rake # listens at :8000
149
+
137
150
LISTEN=" :8000" HMAC_SECRET=" <secret>" HMAC_HEADER_NAME=" <X-HEADER-NAME>" rake
138
151
LISTEN=" :8000" HMAC_SECRET=" <secret>" HMAC_HEADER_NAME=" <X-HEADER-NAME>" COLOR=1 rake
139
152
LISTEN=" :8000" HMAC_SECRET=" <secret>" HMAC_HEADER_NAME=" <X-HEADER-NAME>" OUTPUT=" /tmp/foo" rake
153
+
154
+ LISTEN=" :8000" SECRET_TOKEN=" <secret>" SECRET_TOKEN_HEADER_NAME=" <X-HEADER-NAME>" rake
155
+
140
156
SAVE_RAW_HTTP_REQUEST=t rake
141
157
SAVE_RAW_HTTP_REQUEST=t SAVE_FORMAT=" ~/Desktop/%Y-%m-%d-%H%i%s-test.raw" rake
142
158
```
@@ -149,6 +165,8 @@ SAVE_RAW_HTTP_REQUEST=t SAVE_FORMAT="~/Desktop/%Y-%m-%d-%H%i%s-test.raw" rake
149
165
| :-----| :---------------------| ---------------|
150
166
| ` -hmac-header-name ` | ` HMAC_HEADER_NAME ` | Not set |
151
167
| ` -hmac-secret ` | ` HMAC_SECRET ` | Not set |
168
+ | ` -secret-token ` | ` SECRET_TOKEN ` | Not set |
169
+ | ` -secret-token-header-name ` | ` SECRET_TOKEN_HEADER_NAME ` | Not set |
152
170
| ` -color ` | ` COLOR ` | ` false ` |
153
171
| ` -listen ` | ` LISTEN ` | ` :9002 ` |
154
172
| ` -output ` | ` OUTPUT ` | ` stdout ` |
@@ -305,6 +323,16 @@ Here is how it looks, a GitHub webhook (trimmed, masked due to it’s huge/priva
305
323
{"action":"created","issue":{"url": ...} ... }
306
324
----------------------------------------------------------------------------------------------------
307
325
326
+ If you are checking secret token/secret token header (` test ` , ` X-Gitlab-Token ` ),
327
+ you’ll see something like this in Payload section:
328
+
329
+ +-----------------------------------+-----------------------------+
330
+ | Payload | |
331
+ +-----------------------------------+-----------------------------+
332
+ | Secret Token | test |
333
+ | Secret Token Header Name | X-Gitlab-Token |
334
+ | Secret Token Matches? | true |
335
+ +-----------------------------------+-----------------------------+
308
336
309
337
---
310
338
@@ -318,6 +346,7 @@ docker build -t <your-image> .
318
346
docker run -p 9002:9002 < your-image> # run from default port
319
347
docker run -p 8400:8400 < your-image> -listen " :8400" # run from 8400
320
348
docker run -p 8400:8400 < your-image> -listen " :8400" -hmac-secret " <secret>" -hmac-header-name " <X-HEADER-NAME>"
349
+ docker run -p 8400:8400 < your-image> -listen " :8400" -secret-token " <secret>" -secret-token-header-name " <X-HEADER-NAME>"
321
350
```
322
351
323
352
You can download/use from docker hub or ghcr:
@@ -334,6 +363,9 @@ docker run -p 8400:8400 vigo/basichttpdebugger -listen ":8400" # run from 840
334
363
# run from docker hub on port 9100 with hmac support
335
364
docker run -p 9100:9100 vigo/basichttpdebugger -listen " :9100" -hmac-secret " <secret>" -hmac-header-name " <X-HEADER-NAME>"
336
365
366
+ # run from docker hub on port 9100 with secret token/secret token header name support
367
+ docker run -p 9100:9100 vigo/basichttpdebugger -listen " :9100" -secret-token " <secret>" -secret-token-header-name " <X-HEADER-NAME>"
368
+
337
369
# run from ghcr on default port
338
370
docker run -p 9002:9002 ghcr.io/vbyazilim/basichttpdebugger/basichttpdebugger:latest
339
371
@@ -363,6 +395,11 @@ rake test # run test
363
395
364
396
## Change Log
365
397
398
+ ** 2025-02-02**
399
+
400
+ - improve ` stringutils ` tests
401
+ - add secret token/secret token header name support
402
+
366
403
** 2024-12-24**
367
404
368
405
- refactor from scratch
0 commit comments