class
Analyzer::Elixir::Bandit
Overview
Bandit (https://github.com/mtrudel/bandit) is the modern HTTP
server that ships with Phoenix 1.7+ and is increasingly used to
host raw Plug.Router modules. Route registration syntax inside
the router is identical to Plug.Router, so we reuse the Plug
extraction logic and only rename the analyzer so endpoints get
tagged with the elixir_bandit technology.
Defined in:
analyzer/analyzers/elixir/bandit.cr
Class Method Summary
analyze_content(content : String, file_path : String) : Array(Endpoint)
analyze_content ,
analyze_file(path : String) : Array(Endpoint)
analyze_file ,
extract_params_from_block(lines : Array(String), start_index : Int32, method : String, block_end : Int32 | Nil = nil ) : Array(Param)
extract_params_from_block ,
find_block_end(lines : Array(String), start_index : Int32) : Int32
find_block_end ,
line_to_endpoint(line : String) : Array(Endpoint)
line_to_endpoint
tech_name : String
tech_name
analyze
analyze ,
analyze_file(path : String) : Array(Endpoint)
analyze_file
test_path?(path : String) : Bool
test_path?
Instance methods inherited from class Analyzer
analyze
analyze ,
base_path : String
base_path ,
base_paths : Array(String)
base_paths ,
base_relative_path(path : String) : String
base_relative_path ,
callees_needed? : Bool
callees_needed? ,
content_matches?(content : String, markers : Regex) : Bool
content_matches? ,
http_header_name(name : String) : String | Nil
http_header_name ,
line_number_for_index(content : String, char_index : Int32) : Int32
line_number_for_index ,
logger : NoirLogger
logger ,
parallel_analyze(files : Array(String), &block : String -> Nil)
parallel_analyze ,
read_file_content(path : String) : String
read_file_content ,
result : Array(Endpoint)
result ,
unique_params(params : Array(Param)) : Array(Param)
unique_params ,
url : String
url ,
web_root_path(path : String, markers : Array(String)) : String
web_root_path
Constructor methods inherited from class Analyzer
new(options : Hash(String, YAML::Any))
new
Macros inherited from class Analyzer
analyzer_for(tech)
analyzer_for
Instance methods inherited from module FileHelper
all_files : Array(String)
all_files ,
get_files_by_basename(basename : String) : Array(String)
get_files_by_basename ,
get_files_by_extension(extension : String) : Array(String)
get_files_by_extension ,
get_files_by_extensions(extensions : Array(String)) : Array(String)
get_files_by_extensions ,
get_files_by_prefix(prefix : String) : Array(String)
get_files_by_prefix ,
get_files_by_prefix_and_extension(prefix : String, extension : String) : Array(String)
get_files_by_prefix_and_extension ,
get_files_by_relative_path(relative_path : String, root : String = "" ) : Array(String)
get_files_by_relative_path ,
get_public_dir_files(base_path : String, folder : String) : Array(String)
get_public_dir_files ,
get_public_files(base_path : String, anchors : Array(String) = ["shard.yml" , "Gemfile" ]) : Array(String)
get_public_files ,
walked_path(expanded : String) : String
walked_path
Class Method Detail