Class: FiberAudit::Static::Rules::NetHTTPInRequest
- Defined in:
- lib/fiber_audit/static/rules/net_http_in_request.rb
Overview
FA1007: Detects blocking HTTP calls 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.
Constant Summary collapse
- TITLE =
'Blocking HTTP call in request path'- CATEGORY =
:network- MESSAGE =
'Synchronous HTTP activity in a request-like context may block the thread running the fiber scheduler.'- REMEDIATION =
'Use a scheduler-aware HTTP client, or move outbound HTTP work outside the request path.'- NET_HTTP_METHODS =
%i[get get_response start request].freeze
- URI_METHODS =
{ 'URI' => :open, 'OpenURI' => :open_uri }.freeze
- EMIT_CONTEXTS =
%i[request middleware websocket callback].freeze
Constants inherited from Base
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
32 33 34 35 36 |
# File 'lib/fiber_audit/static/rules/net_http_in_request.rb', line 32 def analyze(call_sites:) call_sites.filter_map { |site| analyze_call_site(site) } rescue StandardError [] end |