Releases: ernolf/admin_audit_http_client
Releases · ernolf/admin_audit_http_client
admin_audit_http_client v0.2.0
Added
loglevel_audit_http_clientconfig key (int, default0): controls which responses are logged —0= all,1= HTTP 400+ only,2= HTTP 500+ onlyaudit_http_client_logsconfig key (string, default'both'): selects log output format —'json','plain', or'both'audit_http_client_logs_exclude_domainconfig key (array, default[]): list of hostnames to exclude from logging; supports wildcard prefix (*.example.com)
Full Changelog: v0.1.0...v0.2.0
admin_audit_http_client v0.1.0 (Initial Release)
LoggingClientService: reflection-basedIClientServicedecorator that injectsHttpClientLoggerMiddlewareinto the GuzzleHandlerStackviaHandlerStack::unshift()HttpClientLoggerMiddleware: logs all outgoing HTTP requests including method, URI, HTTP version, status code, all request/response headers, cURL transfer statistics, and compression metricsCountingStream: wraps 2xx response body streams to count decompressed bytes; writes the log entry on stream close or garbage collectionTransferStatsStore: static store to correlate asynchronouson_statscURL callback data with the middleware response handlerLogPathHelper: derives per-host log file paths; writes one.jsonand one.logfile per remote hostHandlerStackReadyListener: prepared for future event-based injection once aHttpClientHandlerStackReadyEventis available in Nextcloud corelogdir_audit_http_clientconfig key with automatic fallback chain: explicit override → sibling oflogfile_audit→ sibling oflogfile→<datadirectory>/admin_audit_http_client_logs/- Log entries contain: request ID (
X-Nextcloud-ReqId), timestamp, method, URI, HTTP version, status, request headers, response headers, cURL handler stats (size_download,speed_download,total_time, etc.), compression stats (encoding,compressed_bytes,decompressed_bytes,ratio)
Full Changelog: https://github.com/ernolf/admin_audit_http_client/commits/v0.1.0