search_requests
Search web application firewall requests using advanced filters to identify security events and analyze traffic patterns.
Instructions
Search requests with advanced filtering
Input Schema
TableJSON 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;