module Cryload

Overview

Command Line Interface Handler for Cryload

Defined in:

cryload/ci_thresholds.cr
cryload/cli.cr
cryload/cli_options.cr
cryload/cli_validator.cr
cryload/http_client.cr
cryload/load_generator.cr
cryload/logger.cr
cryload/rate_limiter.cr
cryload/request.cr
cryload/shutdown_coordinator.cr
cryload/stats.cr
cryload/version.cr

Constant Summary

DEFAULT_MAX_REDIRECTS = 5
VERSION = {{ (`shards version /build/cryload/src/cryload-5.0.0/src/cryload/../..`).strip.stringify }}

Class Method Summary

Class Method Detail

def self.apply_timeouts(client : HTTP::Client, timeout_seconds : Int32 | Nil) #

def self.connect_request(uri : URI, port : Int32, proxy : URI) : String #

def self.create_direct_http_client(uri, timeout_seconds : Int32 | Nil = nil, insecure : Bool = false) #

def self.create_http_client(uri, timeout_seconds : Int32 | Nil = nil, insecure : Bool = false, proxy : URI | Nil = nil) #

def self.create_http_proxy_client(uri, proxy : URI, timeout_seconds : Int32 | Nil = nil, insecure : Bool = false) #

def self.create_https_proxy_client(uri, proxy : URI, timeout_seconds : Int32 | Nil = nil, insecure : Bool = false) #

def self.create_stats(request_number, duration_mode : Bool = false, benchmark_start : Time::Instant = Time.instant, url : String = "", output_format : String = "text", success_status_ranges : Array(Range(Int32, Int32)) = [200..299], ci_thresholds : CiThresholds = CiThresholds.new, progress_enabled : Bool = false) #

def self.display_url(urls : Array(URI)) : String #

def self.effective_port(uri : URI) : Int32 #

def self.load_urls_from_file(path : String) : Array(URI) #

def self.proxy_authorization(proxy : URI) : String | Nil #

def self.proxy_request_target(uri : URI) : String #

def self.read_proxy_connect_status(socket : IO) : Int32 #

def self.stats #

def self.tls_context_for(uri : URI, insecure : Bool) #