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

Instance methods inherited from class Analyzer::Elixir::Plug

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

Instance methods inherited from class Analyzer::Elixir::ElixirEngine

analyze analyze, analyze_file(path : String) : Array(Endpoint) analyze_file

Instance methods inherited from class Analyzer

analyze analyze, base_path : String base_path, base_paths : Array(String) base_paths, callees_needed? : Bool callees_needed?, logger : NoirLogger logger, parallel_analyze(channel : Channel(String), &block : String -> Nil) parallel_analyze, read_file_content(path : String) : String read_file_content, result : Array(Endpoint) result, url : String url

Constructor methods inherited from class Analyzer

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

Macros inherited from class Analyzer

define_getter_methods(names) define_getter_methods

Instance methods inherited from module FileHelper

all_files : Array(String) all_files, get_files_by_extension(extension : String) : Array(String) get_files_by_extension, 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_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, populate_channel_with_files(channel : Channel(String)) populate_channel_with_files, populate_channel_with_filtered_files(channel : Channel(String), extension : String)
populate_channel_with_filtered_files(channel : Channel(String), extensions : Array(String))
populate_channel_with_filtered_files