Class: FiberAudit::Static::Rules::NetHTTPInRequest

Inherits:
Base
  • Object
show all
Defined in:
lib/fiber_audit/static/rules/net_http_in_request.rb

Overview

FA1007: Detects HTTP scheduler-cooperation requirements in request-like contexts. Targets Net::HTTP.get,get_response,start,request, URI.open, OpenURI.open_uri. Excludes Net::HTTP.get_print. Emits only for request/middleware/websocket/callback.

Advisory rule with :medium default, no context ceiling.

Constant Summary collapse

TITLE =
'HTTP scheduler-cooperation requirement'
CATEGORY =
:network
MESSAGE =
'HTTP activity requires scheduler-aware DNS and I/O cooperation in a non-blocking Fiber.'
REMEDIATION =
'Verify the selected HTTP/TLS/DNS stack and active scheduler ' \
'under load; investigate correlated stalls.'
NET_HTTP_METHODS =
OperationVocabulary::FA1007_NET_HTTP_METHODS
URI_METHODS =
OperationVocabulary::FA1007_URI_METHODS
EMIT_CONTEXTS =
%i[request middleware websocket callback].freeze

Constants inherited from Base

Base::CONTEXT_CEILING

Instance Method Summary collapse

Methods inherited from Base

confidence, default_confidence, default_severity, description, id, #initialize, severity

Constructor Details

This class inherits a constructor from FiberAudit::Static::Rules::Base

Instance Method Details

#analyze(call_sites:) ⇒ Object



33
34
35
36
37
# File 'lib/fiber_audit/static/rules/net_http_in_request.rb', line 33

def analyze(call_sites:)
  call_sites.filter_map { |site| analyze_call_site(site) }
rescue StandardError
  []
end