search_requests
Search web application firewall requests using advanced filters to identify security events and analyze traffic patterns.
Instructions
Search requests with advanced filtering
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "search_requests"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| corpName | No | Corporation name (uses context default if not provided) | |
| siteName | No | Site name (uses context default if not provided) | |
| query | No | Search query (e.g., "tag:SQLI") | |
| page | No | Page number | |
| limit | No | Results per page |
Implementation Reference
- server.js:1004-1010 (handler)Handler logic for the 'search_requests' tool within the CallToolRequestHandler switch statement. It resolves the corpName and siteName using resolveContext, validates that siteName is provided, and calls the client's searchRequests method with the parameters.
case 'search_requests': const { corpName: corpForSearch, siteName: siteForSearch } = resolveContext(typedArgs); if (!siteForSearch) { throw new Error('Site name is required. Please set context or provide siteName parameter.'); } result = await client.searchRequests(corpForSearch, siteForSearch, typedArgs.query, typedArgs.page, typedArgs.limit); break; - server.js:632-641 (schema)Input schema definition for the 'search_requests' tool, specifying parameters like corpName, siteName, query, page, and limit with types and descriptions.
inputSchema: { type: 'object', properties: { corpName: { type: 'string', description: 'Corporation name (uses context default if not provided)' }, siteName: { type: 'string', description: 'Site name (uses context default if not provided)' }, query: { type: 'string', description: 'Search query (e.g., "tag:SQLI")' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, }, - server.js:629-642 (registration)Tool registration entry in the tools array, which is returned by the ListToolsRequestHandler, including name, description, and inputSchema.
{ name: 'search_requests', description: 'Search requests with advanced filtering', inputSchema: { type: 'object', properties: { corpName: { type: 'string', description: 'Corporation name (uses context default if not provided)' }, siteName: { type: 'string', description: 'Site name (uses context default if not provided)' }, query: { type: 'string', description: 'Search query (e.g., "tag:SQLI")' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, }, }, - server.js:176-185 (helper)Core helper method in FastlyNGWAFClient class that performs the actual API request to search requests for a site, building query parameters and calling the Fastly NGWAF API endpoint.
async searchRequests(corpName, siteName, query, page, limit) { const params = new URLSearchParams(); if (query) params.append('q', query); if (page) params.append('page', page.toString()); if (limit) params.append('limit', limit.toString()); const response = await this.api.get(`/corps/${corpName}/sites/${siteName}/requests?${params.toString()}`); return response.data;