-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathconsole_log_demo.js
More file actions
33 lines (29 loc) · 1.36 KB
/
console_log_demo.js
File metadata and controls
33 lines (29 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Example JavaScript rule file demonstrating console API usage
// This can be used with: httpjail --js-file examples/console_log_demo.js ...
//
// Console output is visible when running with appropriate log levels:
// RUST_LOG=debug httpjail --js-file examples/console_log_demo.js ... # Shows debug/log
// RUST_LOG=info httpjail --js-file examples/console_log_demo.js ... # Shows info/warn/error
// RUST_LOG=warn httpjail --js-file examples/console_log_demo.js ... # Shows warn/error
// Different console methods map to tracing levels:
// console.debug() -> DEBUG
// console.log() -> INFO
// console.info() -> INFO
// console.warn() -> WARN
// console.error() -> ERROR
// Debug: detailed information for troubleshooting
console.debug("Evaluating request:", r.method, r.url);
console.debug("Full request object:", r);
// Log: general informational messages
console.log("Requester IP:", r.requester_ip);
// Example: Allow only GET requests to example.com
if (r.method === "GET" && r.url.includes("example.com")) {
console.info("Allowing request to example.com");
true
} else if (r.url.includes("suspicious-site.com")) {
console.error("Blocked suspicious site:", r.url);
({deny_message: "Blocked: suspicious site"})
} else {
console.warn("Denying request - not example.com or not GET");
({deny_message: "Only GET requests to example.com are allowed"})
}