Module: FiberAudit::Runtime::Probes::HTTP
- Defined in:
- lib/fiber_audit/runtime/probes/http.rb
Defined Under Namespace
Modules: NetHTTPClassHook, NetHTTPClassRequestHook, NetHTTPInstanceHook, OpenURIHook, URIHook
Constant Summary
collapse
- HTTP_SCHEME =
/\Ahttps?:/i
Class Method Summary
collapse
Class Method Details
.http_target?(value) ⇒ Boolean
69
70
71
72
73
74
75
76
|
# File 'lib/fiber_audit/runtime/probes/http.rb', line 69
def http_target?(value)
return value.match?(HTTP_SCHEME) if value.instance_of?(String) && value.valid_encoding?
return false unless defined?(URI::HTTP)
value.instance_of?(URI::HTTP) || (defined?(URI::HTTPS) && value.instance_of?(URI::HTTPS))
rescue StandardError
false
end
|
.install!(registry) ⇒ Object
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/fiber_audit/runtime/probes/http.rb', line 57
def install!(registry)
if defined?(Net::HTTP)
registry.prepend_once(Net::HTTP.singleton_class, NetHTTPClassHook)
registry.prepend_once(Net::HTTP, NetHTTPInstanceHook)
registry.prepend_once(Net::HTTP.singleton_class, NetHTTPClassRequestHook) if Net::HTTP.respond_to?(:request)
end
registry.prepend_once(URI.singleton_class, URIHook) if defined?(URI) && URI.respond_to?(:open)
return unless defined?(OpenURI) && OpenURI.respond_to?(:open_uri)
registry.prepend_once(OpenURI.singleton_class, OpenURIHook)
end
|