-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdebug-interceptor.js
More file actions
66 lines (56 loc) · 1.63 KB
/
debug-interceptor.js
File metadata and controls
66 lines (56 loc) · 1.63 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
* Debug script to test request interceptor behavior
*/
import { createRequestInterceptor } from './src/middleware/request-interceptor.js';
// Mock environment
const mockEnv = {
AUTH_CACHE: {
get: async () => null,
put: async () => {},
delete: async () => {}
}
};
const interceptor = createRequestInterceptor(mockEnv);
// Test URLs and headers that should be blocked
const testUrls = [
'/api/user/generate-id',
'/some/path/generate',
'/api/get-chittyid?bypass=true',
'/api/get-chittyid?skip-pipeline=yes'
];
const testHeaders = [
{ 'X-Bypass-Pipeline': 'true' },
{ 'X-Direct-Access': 'allow' },
{ 'X-Emergency-Generate': 'true' },
{ 'X-Force-Generate': 'yes' }
];
console.log('🔍 Testing Request Interceptor...\n');
// Test URLs
for (const url of testUrls) {
const request = new Request(`https://id.chitty.cc${url}`);
const result = await interceptor(request);
console.log(`URL: ${url}`);
console.log(`Result: ${result ? 'BLOCKED' : 'ALLOWED'}`);
if (result) {
console.log(`Status: ${result.status}`);
const body = await result.json();
console.log(`Reason: ${body.reason}`);
}
console.log('---');
}
// Test headers
for (const headers of testHeaders) {
const request = new Request('https://id.chitty.cc/api/get-chittyid', {
method: 'GET',
headers
});
const result = await interceptor(request);
console.log(`Headers: ${JSON.stringify(headers)}`);
console.log(`Result: ${result ? 'BLOCKED' : 'ALLOWED'}`);
if (result) {
console.log(`Status: ${result.status}`);
const body = await result.json();
console.log(`Reason: ${body.reason}`);
}
console.log('---');
}