class Detector::Specification::Mitmproxy

Defined in:

detector/detectors/specification/mitmproxy.cr

Constant Summary

LENGTH_PREFIX = /\A\d+:/

Tnetstring length prefix: one or more ASCII digits then a colon.

TYPE_MARKERS = ["4:type;", "4:type,"]

mitmproxy stores its top-level flow type under the dict key "type". In tnetstring that key always serializes verbatim as either 4:type; (mitmproxy's bytes type) or 4:type, (the standard tnetstring string type) depending on flow format version, so we accept either variant as the magic marker.

Class Method Summary

Instance Method Summary

Instance methods inherited from class Detector

applicable?(filename : String) : Bool applicable?, base_relative_path(filename : String) : String base_relative_path, content_matches?(file_contents : String, markers : Regex) : Bool content_matches?, detect(filename : String, file_contents : String) : Bool detect, gemfile_dependency?(file_contents : String, gem_name : String) : Bool gemfile_dependency?, gemspec_dependency?(file_contents : String, gem_name : String) : Bool gemspec_dependency?, idempotent? : Bool idempotent?, logger : NoirLogger logger, name : String name, path_sensitive? : Bool path_sensitive?

Constructor methods inherited from class Detector

new(options : Hash(String, YAML::Any)) new

Macros inherited from class Detector

detector_for(tech, extensions = nil, basenames = nil, path_segments = nil, idempotent = nil) detector_for

Class Method Detail

def self.tech_name : String #

The tech name without needing an instance, so the registry can be read off the classes themselves rather than from a parallel list.


[View source]

Instance Method Detail

def applicable?(filename : String) : Bool #

Registers mitmproxy flow paths in CodeLocator.


[View source]
def detect(filename : String, file_contents : String) : Bool #

[View source]
def idempotent? : Bool #

Registers mitmproxy flow paths in CodeLocator.


[View source]
def set_name #

Registers mitmproxy flow paths in CodeLocator.


[View source]