SYMBOL INDEX (793 symbols across 73 files) FILE: ddosify_engine/config/base.go type ConfigReader (line 33) | type ConfigReader interface function NewConfigReader (line 39) | func NewConfigReader(config []byte, configType string) (reader ConfigRea... FILE: ddosify_engine/config/base_test.go function readConfigFile (line 30) | func readConfigFile(path string) []byte { function TestNewConfigReader (line 37) | func TestNewConfigReader(t *testing.T) { function TestNewConfigReaderInvalidConfigType (line 51) | func TestNewConfigReaderInvalidConfigType(t *testing.T) { function TestNewConfigReaderIncorrectJsonFile (line 61) | func TestNewConfigReaderIncorrectJsonFile(t *testing.T) { FILE: ddosify_engine/config/json.go constant ConfigTypeJson (line 42) | ConfigTypeJson = "jsonReader" function init (line 44) | func init() { type timeRunCount (line 48) | type timeRunCount type auth (line 53) | type auth struct type multipartFormData (line 59) | type multipartFormData struct type RegexCaptureConf (line 66) | type RegexCaptureConf struct type capturePath (line 70) | type capturePath struct type step (line 80) | type step struct method UnmarshalJSON (line 99) | func (s *step) UnmarshalJSON(data []byte) error { type Tag (line 115) | type Tag struct method UnmarshalJSON (line 120) | func (t *Tag) UnmarshalJSON(data []byte) error { type CsvConf (line 127) | type CsvConf struct method UnmarshalJSON (line 137) | func (c *CsvConf) UnmarshalJSON(data []byte) error { type JsonReader (line 149) | type JsonReader struct method UnmarshalJSON (line 190) | func (j *JsonReader) UnmarshalJSON(data []byte) error { method Init (line 208) | func (j *JsonReader) Init(jsonByte []byte) (err error) { method CreateHammer (line 221) | func (j *JsonReader) CreateHammer() (h types.Hammer, err error) { type CookieConf (line 167) | type CookieConf struct type CustomCookie (line 172) | type CustomCookie struct type TestAssertion (line 184) | type TestAssertion struct function stepToScenarioStep (line 332) | func stepToScenarioStep(s step) (types.ScenarioStep, error) { function prepareMultipartPayload (line 424) | func prepareMultipartPayload(parts []multipartFormData) (body string, co... function preparePayloadFile (line 491) | func preparePayloadFile(url string) (body string, err error) { type RemoteMultipartError (line 509) | type RemoteMultipartError struct method Error (line 514) | func (nf RemoteMultipartError) Error() string { method Unwrap (line 521) | func (nf RemoteMultipartError) Unwrap() error { FILE: ddosify_engine/config/json_test.go function TestCreateHammerDefaultValues (line 40) | func TestCreateHammerDefaultValues(t *testing.T) { function TestCreateHammer (line 76) | func TestCreateHammer(t *testing.T) { function TestCreateHammerWithIterationCountInsteadOfReqCount (line 132) | func TestCreateHammerWithIterationCountInsteadOfReqCount(t *testing.T) { function TestCreateHammerWithIterationCountOverridesReqCount (line 188) | func TestCreateHammerWithIterationCountOverridesReqCount(t *testing.T) { function TestCreateHammerManualLoad (line 247) | func TestCreateHammerManualLoad(t *testing.T) { function TestCreateHammerManualLoadOverrideOthers (line 285) | func TestCreateHammerManualLoadOverrideOthers(t *testing.T) { function TestCreateHammerPayload (line 323) | func TestCreateHammerPayload(t *testing.T) { function TestCreateHammerMultipartPayload (line 344) | func TestCreateHammerMultipartPayload(t *testing.T) { function TestCreateHammerMultipartPayload_RemoteErr (line 372) | func TestCreateHammerMultipartPayload_RemoteErr(t *testing.T) { function TestCreateHammerAuth (line 387) | func TestCreateHammerAuth(t *testing.T) { function TestCreateHammerGlobalEnvs (line 413) | func TestCreateHammerGlobalEnvs(t *testing.T) { function TestCreateHammerCaptureEnvs (line 433) | func TestCreateHammerCaptureEnvs(t *testing.T) { function TestCreateHammerInvalidTarget (line 497) | func TestCreateHammerInvalidTarget(t *testing.T) { function TestCreateHammerCookiesEnabledValidOnlyOnUserModes (line 507) | func TestCreateHammerCookiesEnabledValidOnlyOnUserModes(t *testing.T) { function TestCreateHammerTLS (line 517) | func TestCreateHammerTLS(t *testing.T) { function TestCreateHammerTLSWithOnlyCertPath (line 550) | func TestCreateHammerTLSWithOnlyCertPath(t *testing.T) { function TestCreateHammerTLSWithOnlyKeyPath (line 598) | func TestCreateHammerTLSWithOnlyKeyPath(t *testing.T) { function TestCreateHammerTLSWithWithEmptyPath (line 646) | func TestCreateHammerTLSWithWithEmptyPath(t *testing.T) { function buildJSONTLSConfig (line 685) | func buildJSONTLSConfig(certPath, keyPath string) []byte { function createCertPairFiles (line 705) | func createCertPairFiles(cert string, certKey string) (*os.File, *os.Fil... function generateCerts (line 729) | func generateCerts() (string, string) { FILE: ddosify_engine/core/assertion/base.go type Aborter (line 7) | type Aborter interface type ResultListener (line 11) | type ResultListener interface type Asserter (line 16) | type Asserter interface FILE: ddosify_engine/core/assertion/service.go type DefaultAssertionService (line 16) | type DefaultAssertionService struct method Init (line 42) | func (as *DefaultAssertionService) Init(assertions map[string]types.Te... method GetTotalTimes (line 54) | func (as *DefaultAssertionService) GetTotalTimes() []int64 { method GetFailCount (line 57) | func (as *DefaultAssertionService) GetFailCount() int { method Start (line 61) | func (as *DefaultAssertionService) Start(input <-chan *types.ScenarioR... method aggregate (line 79) | func (as *DefaultAssertionService) aggregate(r *types.ScenarioResult) { method applyAssertions (line 99) | func (as *DefaultAssertionService) applyAssertions() { method giveFinalResult (line 139) | func (as *DefaultAssertionService) giveFinalResult() TestAssertionResu... method ResultChan (line 163) | func (as *DefaultAssertionService) ResultChan() <-chan TestAssertionRe... method AbortChan (line 167) | func (as *DefaultAssertionService) AbortChan() <-chan struct{} { method DoneChan (line 171) | func (as *DefaultAssertionService) DoneChan() <-chan struct{} { method insertSorted (line 175) | func (as *DefaultAssertionService) insertSorted(v int64) { type TestAssertionResult (line 27) | type TestAssertionResult struct type FailedRule (line 33) | type FailedRule struct function NewDefaultAssertionService (line 38) | func NewDefaultAssertionService() (service *DefaultAssertionService) { FILE: ddosify_engine/core/assertion/service_test.go function TestApplyAssertionsAbortsCorrectly (line 13) | func TestApplyAssertionsAbortsCorrectly(t *testing.T) { function TestServiceKeepsIterationTimes (line 44) | func TestServiceKeepsIterationTimes(t *testing.T) { function TestServiceKeepsFailCount (line 90) | func TestServiceKeepsFailCount(t *testing.T) { type SortableInt64Slice (line 145) | type SortableInt64Slice method Len (line 147) | func (a SortableInt64Slice) Len() int { return len(a) } method Swap (line 148) | func (a SortableInt64Slice) Swap(i, j int) { a[i], a[j] = a[j], a... method Less (line 149) | func (a SortableInt64Slice) Less(i, j int) bool { return a[i] < a[j] } FILE: ddosify_engine/core/engine.go constant tickerInterval (line 43) | tickerInterval = 100 constant resultDone (line 46) | resultDone = "done" constant resultStopped (line 47) | resultStopped = "stopped" constant resultAborted (line 48) | resultAborted = "aborted" type engine (line 51) | type engine struct method IsTestFailed (line 143) | func (e *engine) IsTestFailed() bool { method Init (line 147) | func (e *engine) Init() (err error) { method Start (line 180) | func (e *engine) Start() string { method runWorkers (line 227) | func (e *engine) runWorkers(c int) { method runWorker (line 237) | func (e *engine) runWorker(scenarioStartTime time.Time) { method runAssertionsInEngine (line 268) | func (e *engine) runAssertionsInEngine() bool { method stop (line 272) | func (e *engine) stop() { method getMaxConcurrentIterCount (line 287) | func (e *engine) getMaxConcurrentIterCount() int { method initReqCountArr (line 297) | func (e *engine) initReqCountArr() { method createManualReqCountArr (line 319) | func (e *engine) createManualReqCountArr() { method createLinearReqCountArr (line 336) | func (e *engine) createLinearReqCountArr() { method createIncrementalReqCountArr (line 348) | func (e *engine) createIncrementalReqCountArr() { method createWavedReqCountArr (line 359) | func (e *engine) createWavedReqCountArr() { type EngineServices (line 75) | type EngineServices struct function NewEngine (line 123) | func NewEngine(ctx context.Context, h types.Hammer, function createLinearDistArr (line 389) | func createLinearDistArr(count int, arr []int) { function createIncrementalDistArr (line 403) | func createIncrementalDistArr(count int, len int) []int { function arraySum (line 435) | func arraySum(steps []int) int { function reverse (line 443) | func reverse(s interface{}) { function parseRawCookie (line 476) | func parseRawCookie(cookie string) []*http.Cookie { FILE: ddosify_engine/core/engine_test.go function newDummyHammer (line 53) | func newDummyHammer() types.Hammer { function TestCreateEngine (line 73) | func TestCreateEngine(t *testing.T) { function TestReqCountArrDebugMode (line 127) | func TestReqCountArrDebugMode(t *testing.T) { function TestRequestCount (line 159) | func TestRequestCount(t *testing.T) { function TestRequestData (line 288) | func TestRequestData(t *testing.T) { function TestRequestDataForMultiScenarioStep (line 357) | func TestRequestDataForMultiScenarioStep(t *testing.T) { function TestRequestTimeout (line 441) | func TestRequestTimeout(t *testing.T) { function TestEngineResult (line 499) | func TestEngineResult(t *testing.T) { function TestDynamicData (line 577) | func TestDynamicData(t *testing.T) { function TestGlobalEnvs (line 688) | func TestGlobalEnvs(t *testing.T) { function TestInjectEnvToBasicAuth (line 754) | func TestInjectEnvToBasicAuth(t *testing.T) { function TestCapturedEnvsFromJsonBody (line 818) | func TestCapturedEnvsFromJsonBody(t *testing.T) { function TestContinueTestOnCaptureError (line 950) | func TestContinueTestOnCaptureError(t *testing.T) { function TestCaptureAndInjectEnvironmentsJsonPayload (line 1032) | func TestCaptureAndInjectEnvironmentsJsonPayload(t *testing.T) { function TestCaptureAndInjectEnvironmentsJsonPayloadDynamic (line 1175) | func TestCaptureAndInjectEnvironmentsJsonPayloadDynamic(t *testing.T) { function TestEnvInjectToXmlPayload (line 1298) | func TestEnvInjectToXmlPayload(t *testing.T) { function TestCaptureHeaderWithRegex (line 1374) | func TestCaptureHeaderWithRegex(t *testing.T) { function TestCaptureCookie (line 1458) | func TestCaptureCookie(t *testing.T) { function TestCaptureStringPayloadWithRegex (line 1541) | func TestCaptureStringPayloadWithRegex(t *testing.T) { function TestBothDynamicVarAndEnvVar (line 1617) | func TestBothDynamicVarAndEnvVar(t *testing.T) { function TestDynamicVarAndEnvVarInSameSection (line 1682) | func TestDynamicVarAndEnvVarInSameSection(t *testing.T) { function TestLoadRandomInfoFromData (line 1743) | func TestLoadRandomInfoFromData(t *testing.T) { function TestDataCsv (line 1849) | func TestDataCsv(t *testing.T) { function TestInvalidCsvEnvs (line 1895) | func TestInvalidCsvEnvs(t *testing.T) { function TestCreateInitialCookiesReturnsErr (line 1914) | func TestCreateInitialCookiesReturnsErr(t *testing.T) { function TestCreateInitialCookies (line 1942) | func TestCreateInitialCookies(t *testing.T) { function TestTLSMutualAuth (line 1985) | func TestTLSMutualAuth(t *testing.T) { function TestTLSMutualAuthButWeHaveNoCerts (line 2054) | func TestTLSMutualAuthButWeHaveNoCerts(t *testing.T) { function TestTLSMutualAuthButServerAndClientHasDifferentCerts (line 2125) | func TestTLSMutualAuthButServerAndClientHasDifferentCerts(t *testing.T) { function TestEngineModeUserKeepAlive (line 2206) | func TestEngineModeUserKeepAlive(t *testing.T) { function TestEngineModeUserKeepAliveDifferentHosts (line 2283) | func TestEngineModeUserKeepAliveDifferentHosts(t *testing.T) { function TestEngineModeUserKeepAlive_StepsKeepAliveFalse (line 2354) | func TestEngineModeUserKeepAlive_StepsKeepAliveFalse(t *testing.T) { function TestEngineModeDdosifyKeepAlive (line 2426) | func TestEngineModeDdosifyKeepAlive(t *testing.T) { function createCertPairFiles (line 2501) | func createCertPairFiles(cert string, certKey string) (*os.File, *os.Fil... function generateCerts (line 2525) | func generateCerts() (string, string) { function generateCerts2 (line 2580) | func generateCerts2() (string, string) { FILE: ddosify_engine/core/proxy/base.go type Proxy (line 32) | type Proxy struct type ProxyService (line 45) | type ProxyService interface function NewProxyService (line 55) | func NewProxyService(s string) (service ProxyService, err error) { FILE: ddosify_engine/core/proxy/base_test.go function TestNewProxyService (line 27) | func TestNewProxyService(t *testing.T) { FILE: ddosify_engine/core/proxy/single.go constant ProxyTypeSingle (line 27) | ProxyTypeSingle = "single" function init (line 29) | func init() { type singleProxyStrategy (line 33) | type singleProxyStrategy struct method Init (line 37) | func (sp *singleProxyStrategy) Init(p Proxy) error { method GetAll (line 43) | func (sp *singleProxyStrategy) GetAll() []*url.URL { method GetProxy (line 48) | func (sp *singleProxyStrategy) GetProxy() *url.URL { method ReportProxy (line 52) | func (sp *singleProxyStrategy) ReportProxy(addr *url.URL, reason strin... method GetProxyCountry (line 56) | func (sp *singleProxyStrategy) GetProxyCountry(addr *url.URL) string { method Done (line 60) | func (sp *singleProxyStrategy) Done() error { FILE: ddosify_engine/core/report/aggregator.go function aggregate (line 31) | func aggregate(result *Result, scr *types.ScenarioResult, samplingCount ... type Result (line 138) | type Result struct method successPercentage (line 148) | func (r *Result) successPercentage() int { method failedPercentage (line 156) | func (r *Result) failedPercentage() int { type AssertionErrVerbose (line 163) | type AssertionErrVerbose struct type ServerErrVerbose (line 168) | type ServerErrVerbose struct type FailVerbose (line 173) | type FailVerbose struct type ScenarioStepResultSummary (line 179) | type ScenarioStepResultSummary struct method successPercentage (line 187) | func (s *ScenarioStepResultSummary) successPercentage() int { method failedPercentage (line 195) | func (s *ScenarioStepResultSummary) failedPercentage() int { type AssertInfo (line 202) | type AssertInfo struct FILE: ddosify_engine/core/report/aggregator_test.go function TestStart (line 11) | func TestStart(t *testing.T) { function compareResults (line 188) | func compareResults(r1, r2 *Result) bool { function compareStepResults (line 208) | func compareStepResults(s1, s2 *ScenarioStepResultSummary) bool { FILE: ddosify_engine/core/report/base.go type ReportService (line 34) | type ReportService interface function NewReportService (line 41) | func NewReportService(s string) (service ReportService, err error) { FILE: ddosify_engine/core/report/base_test.go function TestNewReportService (line 27) | func TestNewReportService(t *testing.T) { FILE: ddosify_engine/core/report/debug.go type verboseRequest (line 12) | type verboseRequest struct type verboseResponse (line 19) | type verboseResponse struct type verboseHttpRequestInfo (line 26) | type verboseHttpRequestInfo struct function ScenarioStepResultToVerboseHttpRequestInfo (line 38) | func ScenarioStepResultToVerboseHttpRequestInfo(sr *types.ScenarioStepRe... function decode (line 96) | func decode(headers http.Header, byteBody []byte) (map[string]string, in... function isVerboseInfoRequestEmpty (line 122) | func isVerboseInfoRequestEmpty(req verboseRequest) bool { FILE: ddosify_engine/core/report/debug_test.go function TestDecode (line 10) | func TestDecode(t *testing.T) { FILE: ddosify_engine/core/report/stdout.go constant OutputTypeStdout (line 42) | OutputTypeStdout = "stdout" function init (line 46) | func init() { type stdout (line 50) | type stdout struct method Init (line 66) | func (s *stdout) Init(debug bool, samplingRate int) (err error) { method Start (line 81) | func (s *stdout) Start(input chan *types.ScenarioResult, assertionResu... method cleanSamplingCount (line 131) | func (s *stdout) cleanSamplingCount(samplingCount map[uint16]map[strin... method report (line 151) | func (s *stdout) report() { method DoneChan (line 155) | func (s *stdout) DoneChan() <-chan bool { method realTimePrintStart (line 159) | func (s *stdout) realTimePrintStart() { method liveResultPrint (line 178) | func (s *stdout) liveResultPrint() { method realTimePrintStop (line 187) | func (s *stdout) realTimePrintStop() { method printInDebugMode (line 196) | func (s *stdout) printInDebugMode(input chan *types.ScenarioResult) { method printDetails (line 355) | func (s *stdout) printDetails() { function printBody (line 340) | func printBody(w io.Writer, contentType string, body interface{}) { function deduplicate (line 456) | func deduplicate(values []interface{}) []interface{} { type duration (line 470) | type duration struct FILE: ddosify_engine/core/report/stdoutJson.go constant OutputTypeStdoutJson (line 35) | OutputTypeStdoutJson = "stdout-json" function init (line 37) | func init() { type stdoutJson (line 41) | type stdoutJson struct method Init (line 49) | func (s *stdoutJson) Init(debug bool, samplingRate int) (err error) { method Start (line 59) | func (s *stdoutJson) Start(input chan *types.ScenarioResult, assertion... method report (line 87) | func (s *stdoutJson) report() { method DoneChan (line 106) | func (s *stdoutJson) DoneChan() <-chan bool { method listenAndAggregate (line 110) | func (s *stdoutJson) listenAndAggregate(input chan *types.ScenarioResu... method cleanSamplingCount (line 130) | func (s *stdoutJson) cleanSamplingCount(samplingCount map[uint16]map[s... method printInDebugMode (line 150) | func (s *stdoutJson) printInDebugMode(input chan *types.ScenarioResult) { function printPretty (line 175) | func printPretty(w io.Writer, info any) { type Report (line 183) | type Report method MarshalJSON (line 185) | func (r Result) MarshalJSON() ([]byte, error) { type ItemReport (line 198) | type ItemReport method MarshalJSON (line 200) | func (s ScenarioStepResultSummary) MarshalJSON() ([]byte, error) { method MarshalJSON (line 226) | func (v verboseHttpRequestInfo) MarshalJSON() ([]byte, error) { FILE: ddosify_engine/core/report/stdoutJson_test.go function TestInitStdoutJson (line 34) | func TestInitStdoutJson(t *testing.T) { function TestStdoutJsonAggregate (line 48) | func TestStdoutJsonAggregate(t *testing.T) { function TestStdoutJsonOutput (line 158) | func TestStdoutJsonOutput(t *testing.T) { function TestStdoutJsonDebugModePrintsValidJson (line 276) | func TestStdoutJsonDebugModePrintsValidJson(t *testing.T) { function TestVerboseHttpInfoMarshallingErrorCaseEmptyReq (line 312) | func TestVerboseHttpInfoMarshallingErrorCaseEmptyReq(t *testing.T) { function TestVerboseHttpInfoMarshallingErrorCase (line 346) | func TestVerboseHttpInfoMarshallingErrorCase(t *testing.T) { function TestVerboseHttpInfoMarshallingSuccessCase (line 382) | func TestVerboseHttpInfoMarshallingSuccessCase(t *testing.T) { function TestStdoutJsonTestResultStatusShouldBeTrueWhenNoAssertion (line 412) | func TestStdoutJsonTestResultStatusShouldBeTrueWhenNoAssertion(t *testin... function TestStdoutJsonTestResultStatusShouldBeFalseWhenAssertionsFail (line 432) | func TestStdoutJsonTestResultStatusShouldBeFalseWhenAssertionsFail(t *te... FILE: ddosify_engine/core/report/stdout_test.go function TestScenarioStepReport (line 36) | func TestScenarioStepReport(t *testing.T) { function TestResult (line 67) | func TestResult(t *testing.T) { function TestInit (line 97) | func TestInit(t *testing.T) { function TestPrintJsonBody (line 111) | func TestPrintJsonBody(t *testing.T) { function TestPrintBodyAsString (line 126) | func TestPrintBodyAsString(t *testing.T) { function TestStdoutPrintsHeadlinesInDebugMode (line 141) | func TestStdoutPrintsHeadlinesInDebugMode(t *testing.T) { FILE: ddosify_engine/core/scenario/client_pool.go type ClientFactoryMethod (line 14) | type ClientFactoryMethod type ClientCloseMethod (line 15) | type ClientCloseMethod function NewClientPool (line 23) | func NewClientPool(initialCap, maxCap int, engineMode string, factory Cl... type cookieJarRepeated (line 51) | type cookieJarRepeated struct method SetCookies (line 66) | func (c *cookieJarRepeated) SetCookies(u *url.URL, cookies []*http.Coo... method Cookies (line 74) | func (c *cookieJarRepeated) Cookies(u *url.URL) []*http.Cookie { function NewCookieJarRepeated (line 56) | func NewCookieJarRepeated() (*cookieJarRepeated, error) { function createClientFactoryMethod (line 87) | func createClientFactoryMethod(mode string, opts ...func(http.CookieJar)... FILE: ddosify_engine/core/scenario/client_pool_cookie_test.go function TestCookieManagerInRepeatedModeOnlySetInFirstIter (line 17) | func TestCookieManagerInRepeatedModeOnlySetInFirstIter(t *testing.T) { function TestSetCookiesAppendToCurrentSliceOfCookies (line 91) | func TestSetCookiesAppendToCurrentSliceOfCookies(t *testing.T) { function TestSetCookiesOverridesCookieWithSameName (line 108) | func TestSetCookiesOverridesCookieWithSameName(t *testing.T) { function TestSetCookiesDeletesIfUnnecessary (line 125) | func TestSetCookiesDeletesIfUnnecessary(t *testing.T) { function TestSetCookiesUrlScheme (line 146) | func TestSetCookiesUrlScheme(t *testing.T) { function TestSetCookiesSecure (line 164) | func TestSetCookiesSecure(t *testing.T) { function TestPutInitialCookiesInJarFactory (line 216) | func TestPutInitialCookiesInJarFactory(t *testing.T) { FILE: ddosify_engine/core/scenario/data/csv.go function validateConf (line 16) | func validateConf(conf types.CsvConf) error { type RemoteCsvError (line 23) | type RemoteCsvError struct method Error (line 28) | func (nf RemoteCsvError) Error() string { method Unwrap (line 35) | func (nf RemoteCsvError) Unwrap() error { function ReadCsv (line 39) | func ReadCsv(conf types.CsvConf) ([]map[string]interface{}, error) { function emptyLine (line 143) | func emptyLine(row []string) bool { function wrapAsCsvError (line 152) | func wrapAsCsvError(msg string, err error) RemoteCsvError { FILE: ddosify_engine/core/scenario/data/csv_test.go function TestValidateCsvConf (line 15) | func TestValidateCsvConf(t *testing.T) { function TestReadCsv_RemoteErr (line 35) | func TestReadCsv_RemoteErr(t *testing.T) { function TestWrapAsRemoteCsvError (line 68) | func TestWrapAsRemoteCsvError(t *testing.T) { function TestReadCsvFromRemote (line 82) | func TestReadCsvFromRemote(t *testing.T) { function TestReadCsv (line 124) | func TestReadCsv(t *testing.T) { function TestBenchmarkCsvRead (line 214) | func TestBenchmarkCsvRead(t *testing.T) { FILE: ddosify_engine/core/scenario/requester/base.go type Requester (line 34) | type Requester interface type HttpRequesterI (line 39) | type HttpRequesterI interface function NewRequester (line 45) | func NewRequester(s types.ScenarioStep) (requester Requester, err error) { FILE: ddosify_engine/core/scenario/requester/http.go type HttpRequester (line 49) | type HttpRequester struct method Init (line 64) | func (h *HttpRequester) Init(ctx context.Context, s types.ScenarioStep... method Done (line 166) | func (h *HttpRequester) Done() { method Send (line 175) | func (h *HttpRequester) Send(client *http.Client, envs map[string]inte... method prepareReq (line 403) | func (h *HttpRequester) prepareReq(envs map[string]interface{}, trace ... method initTransport (line 554) | func (h *HttpRequester) initTransport() *http.Transport { method updateTransport (line 576) | func (h *HttpRequester) updateTransport(tr *http.Transport) { method initTLSConfig (line 595) | func (h *HttpRequester) initTLSConfig() *tls.Config { method initRequestInstance (line 611) | func (h *HttpRequester) initRequestInstance() (err error) { method Type (line 652) | func (h *HttpRequester) Type() string { method applyAssertions (line 745) | func (h *HttpRequester) applyAssertions(assertEnv *evaluator.AssertEnv... method captureEnvironmentVariables (line 775) | func (h *HttpRequester) captureEnvironmentVariables(header http.Header... function concatEnvs (line 375) | func concatEnvs(envs1, envs2 map[string]interface{}) map[string]interfac... function concatHeaders (line 389) | func concatHeaders(envs1, envs2 map[string][]string) map[string][]string { function fetchErrType (line 518) | func fetchErrType(err error) types.RequestError { function newTrace (line 656) | func newTrace(duration *duration, proxyAddr *url.URL, headersByClient ma... type duration (line 813) | type duration struct method setResStartTime (line 852) | func (d *duration) setResStartTime(t time.Time) { method setServerProcessStart (line 864) | func (d *duration) setServerProcessStart(t time.Time) { method setDNSDur (line 875) | func (d *duration) setDNSDur(t time.Duration) { method getDNSDur (line 883) | func (d *duration) getDNSDur() time.Duration { method setTLSDur (line 889) | func (d *duration) setTLSDur(t time.Duration) { method getTLSDur (line 897) | func (d *duration) getTLSDur() time.Duration { method setConnDur (line 903) | func (d *duration) setConnDur(t time.Duration) { method getConnDur (line 911) | func (d *duration) getConnDur() time.Duration { method setReqDur (line 917) | func (d *duration) setReqDur(t time.Duration) { method getReqDur (line 925) | func (d *duration) getReqDur() time.Duration { method setServerProcessDur (line 931) | func (d *duration) setServerProcessDur() { method getServerProcessDur (line 944) | func (d *duration) getServerProcessDur() time.Duration { method setResDur (line 958) | func (d *duration) setResDur() { method getResDur (line 972) | func (d *duration) getResDur() time.Duration { method totalDuration (line 987) | func (d *duration) totalDuration() time.Duration { method close (line 995) | func (d *duration) close() { FILE: ddosify_engine/core/scenario/requester/http_test.go function TestInit (line 40) | func TestInit(t *testing.T) { function TestInitClient (line 64) | func TestInitClient(t *testing.T) { function TestInitRequest (line 206) | func TestInitRequest(t *testing.T) { function TestSendOnDebugModePopulatesDebugInfo (line 348) | func TestSendOnDebugModePopulatesDebugInfo(t *testing.T) { function TestCaptureEnvShouldSetEmptyStringWhenReqFails (line 395) | func TestCaptureEnvShouldSetEmptyStringWhenReqFails(t *testing.T) { function TestAssertions (line 460) | func TestAssertions(t *testing.T) { function TestTraceResDur_TypicalScenario (line 505) | func TestTraceResDur_TypicalScenario(t *testing.T) { function TestTraceResDur_UnusualScenario (line 536) | func TestTraceResDur_UnusualScenario(t *testing.T) { function TestTraceServerProcessDur (line 568) | func TestTraceServerProcessDur(t *testing.T) { function TestTraceServerProcessDur_2 (line 595) | func TestTraceServerProcessDur_2(t *testing.T) { function TestTraceServerProcessDur_3 (line 624) | func TestTraceServerProcessDur_3(t *testing.T) { function TestTraceServerProcessDur_ErrCase (line 659) | func TestTraceServerProcessDur_ErrCase(t *testing.T) { function TestResponseCookiesSentToAssertions (line 692) | func TestResponseCookiesSentToAssertions(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/assertion/assert.go type AssertionError (line 12) | type AssertionError struct method Error (line 18) | func (ae AssertionError) Error() string { method Rule (line 22) | func (ae AssertionError) Rule() string { method Received (line 26) | func (ae AssertionError) Received() map[string]interface{} { method Unwrap (line 30) | func (ae AssertionError) Unwrap() error { function Assert (line 34) | func Assert(input string, env *evaluator.AssertEnv) (bool, error) { FILE: ddosify_engine/core/scenario/scripting/assertion/assert_test.go function TestAssert (line 12) | func TestAssert(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/assertion/ast/ast.go type Node (line 11) | type Node interface type Statement (line 17) | type Statement interface type Expression (line 23) | type Expression interface type ExpressionStatement (line 28) | type ExpressionStatement struct method statementNode (line 33) | func (es *ExpressionStatement) statementNode() {} method TokenLiteral (line 34) | func (es *ExpressionStatement) TokenLiteral() string { return es.Token... method String (line 35) | func (es *ExpressionStatement) String() string { type Identifier (line 43) | type Identifier struct method expressionNode (line 48) | func (i *Identifier) expressionNode() {} method TokenLiteral (line 49) | func (i *Identifier) TokenLiteral() string { return i.Token.Literal } method String (line 50) | func (i *Identifier) String() string { return i.Value } type Boolean (line 52) | type Boolean struct method expressionNode (line 57) | func (b *Boolean) expressionNode() {} method TokenLiteral (line 58) | func (b *Boolean) TokenLiteral() string { return b.Token.Literal } method String (line 59) | func (b *Boolean) String() string { return b.Token.Literal } method GetVal (line 60) | func (il *Boolean) GetVal() interface{} { return il.Value } type IntegerLiteral (line 62) | type IntegerLiteral struct method expressionNode (line 67) | func (il *IntegerLiteral) expressionNode() {} method TokenLiteral (line 68) | func (il *IntegerLiteral) TokenLiteral() string { return il.Token.Lite... method String (line 69) | func (il *IntegerLiteral) String() string { return il.Token.Lite... method GetVal (line 70) | func (il *IntegerLiteral) GetVal() interface{} { return il.Value } type FloatLiteral (line 72) | type FloatLiteral struct method expressionNode (line 77) | func (il *FloatLiteral) expressionNode() {} method TokenLiteral (line 78) | func (il *FloatLiteral) TokenLiteral() string { return il.Token.Literal } method String (line 79) | func (il *FloatLiteral) String() string { return il.Token.Literal } method GetVal (line 80) | func (il *FloatLiteral) GetVal() interface{} { return il.Value } type NullLiteral (line 82) | type NullLiteral struct method expressionNode (line 87) | func (il *NullLiteral) expressionNode() {} method TokenLiteral (line 88) | func (il *NullLiteral) TokenLiteral() string { return il.Token.Literal } method String (line 89) | func (il *NullLiteral) String() string { return il.Token.Literal } method GetVal (line 90) | func (il *NullLiteral) GetVal() interface{} { return il.Value } type StringLiteral (line 92) | type StringLiteral struct method expressionNode (line 97) | func (il *StringLiteral) expressionNode() {} method TokenLiteral (line 98) | func (il *StringLiteral) TokenLiteral() string { return il.Token.Liter... method String (line 99) | func (il *StringLiteral) String() string { return il.Token.Liter... method GetVal (line 100) | func (il *StringLiteral) GetVal() interface{} { return il.Value } type ArrayLiteral (line 102) | type ArrayLiteral struct method expressionNode (line 107) | func (il *ArrayLiteral) expressionNode() {} method TokenLiteral (line 108) | func (il *ArrayLiteral) TokenLiteral() string { return il.Token.Literal } method String (line 109) | func (il *ArrayLiteral) String() string { type ObjectLiteral (line 118) | type ObjectLiteral struct method expressionNode (line 123) | func (il *ObjectLiteral) expressionNode() {} method TokenLiteral (line 124) | func (il *ObjectLiteral) TokenLiteral() string { return il.Token.Liter... method String (line 125) | func (il *ObjectLiteral) String() string { type PrefixExpression (line 134) | type PrefixExpression struct method expressionNode (line 140) | func (pe *PrefixExpression) expressionNode() {} method TokenLiteral (line 141) | func (pe *PrefixExpression) TokenLiteral() string { return pe.Token.Li... method String (line 142) | func (pe *PrefixExpression) String() string { type InfixExpression (line 153) | type InfixExpression struct method expressionNode (line 160) | func (oe *InfixExpression) expressionNode() {} method TokenLiteral (line 161) | func (oe *InfixExpression) TokenLiteral() string { return oe.Token.Lit... method String (line 162) | func (oe *InfixExpression) String() string { type CallExpression (line 174) | type CallExpression struct method expressionNode (line 180) | func (ce *CallExpression) expressionNode() {} method TokenLiteral (line 181) | func (ce *CallExpression) TokenLiteral() string { return ce.Token.Lite... method String (line 183) | func (ce *CallExpression) String() string { FILE: ddosify_engine/core/scenario/scripting/assertion/evaluator/env.go type AssertEnv (line 5) | type AssertEnv struct FILE: ddosify_engine/core/scenario/scripting/assertion/evaluator/evaluator.go function Eval (line 15) | func Eval(node ast.Node, env *AssertEnv, receivedMap map[string]interfac... function evalPrefixExpression (line 336) | func evalPrefixExpression(operator string, right interface{}) (interface... function evalInfixExpression (line 350) | func evalInfixExpression( function evalBangOperatorExpression (line 472) | func evalBangOperatorExpression(right interface{}) (bool, error) { function evalMinusPrefixOperatorExpression (line 484) | func evalMinusPrefixOperatorExpression(right interface{}) (interface{}, ... function evalFloatInfixExpression (line 506) | func evalFloatInfixExpression(operator string, function evalTimeInfixExpression (line 535) | func evalTimeInfixExpression(operator string, lTime, rTime time.Time) (i... function evalIntegerInfixExpression (line 553) | func evalIntegerInfixExpression( function evalIdentifier (line 583) | func evalIdentifier( function evalObjectExpressions (line 688) | func evalObjectExpressions( function evalExpressions (line 712) | func evalExpressions( function evalCookieField (line 737) | func evalCookieField(c *http.Cookie, fieldName string) (interface{}, err... type NotFoundError (line 766) | type NotFoundError struct method Error (line 771) | func (nf NotFoundError) Error() string { method Unwrap (line 775) | func (nf NotFoundError) Unwrap() error { type ArgumentError (line 779) | type ArgumentError struct method Error (line 784) | func (nf ArgumentError) Error() string { method Unwrap (line 788) | func (nf ArgumentError) Unwrap() error { type OperatorError (line 792) | type OperatorError struct method Error (line 797) | func (nf OperatorError) Error() string { method Unwrap (line 801) | func (nf OperatorError) Unwrap() error { FILE: ddosify_engine/core/scenario/scripting/assertion/evaluator/function.go constant NOT (line 219) | NOT = "not" constant LESSTHAN (line 220) | LESSTHAN = "less_than" constant GREATERTHAN (line 221) | GREATERTHAN = "greater_than" constant EQUALS (line 222) | EQUALS = "equals" constant IN (line 223) | IN = "in" constant JSONPATH (line 224) | JSONPATH = "json_path" constant XMLPATH (line 225) | XMLPATH = "xpath" constant HTMLPATH (line 226) | HTMLPATH = "html_path" constant REGEXP (line 227) | REGEXP = "regexp" constant EXISTS (line 228) | EXISTS = "exists" constant CONTAINS (line 229) | CONTAINS = "contains" constant RANGE (line 230) | RANGE = "range" constant EQUALSONFILE (line 231) | EQUALSONFILE = "equals_on_file" constant TIME (line 232) | TIME = "time" constant MIN (line 234) | MIN = "min" constant MAX (line 235) | MAX = "max" constant AVG (line 236) | AVG = "avg" constant P99 (line 237) | P99 = "p99" constant P98 (line 238) | P98 = "p98" constant P95 (line 239) | P95 = "p95" constant P90 (line 240) | P90 = "p90" constant P80 (line 241) | P80 = "p80" FILE: ddosify_engine/core/scenario/scripting/assertion/evaluator/function_test.go function TestEmptyArraysOnMinMaxAvgFuncs (line 5) | func TestEmptyArraysOnMinMaxAvgFuncs(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/assertion/lexer/lexer.go type Lexer (line 9) | type Lexer struct method NextToken (line 22) | func (l *Lexer) NextToken() token.Token { method skipWhitespace (line 135) | func (l *Lexer) skipWhitespace() { method readChar (line 141) | func (l *Lexer) readChar() { method peekChar (line 151) | func (l *Lexer) peekChar() byte { method readIdentifier (line 159) | func (l *Lexer) readIdentifier() string { method readString (line 167) | func (l *Lexer) readString() string { method readRawString (line 175) | func (l *Lexer) readRawString() string { method readNumber (line 183) | func (l *Lexer) readNumber() string { function New (line 16) | func New(input string) *Lexer { function isChAllowedInIdent (line 191) | func isChAllowedInIdent(ch byte) bool { function isLetter (line 196) | func isLetter(ch byte) bool { // identifiers function isDigit (line 200) | func isDigit(ch byte) bool { function newToken (line 204) | func newToken(tokenType token.TokenType, ch byte) token.Token { FILE: ddosify_engine/core/scenario/scripting/assertion/lexer/lexer_test.go function TestNextToken (line 9) | func TestNextToken(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/assertion/parser/parser.go constant _ (line 14) | _ int = iota constant LOWEST (line 15) | LOWEST constant ANDOR (line 16) | ANDOR constant EQUALS (line 17) | EQUALS constant LESSGREATER (line 18) | LESSGREATER constant SUM (line 19) | SUM constant PRODUCT (line 20) | PRODUCT constant PREFIX (line 21) | PREFIX constant ARRAYDEFINE (line 22) | ARRAYDEFINE constant OBJECTDEFINE (line 23) | OBJECTDEFINE constant CALL (line 24) | CALL type prefixParseFn (line 44) | type prefixParseFn type infixParseFn (line 45) | type infixParseFn type Parser (line 48) | type Parser struct method nextToken (line 98) | func (p *Parser) nextToken() { method curTokenIs (line 103) | func (p *Parser) curTokenIs(t token.TokenType) bool { method peekTokenIs (line 107) | func (p *Parser) peekTokenIs(t token.TokenType) bool { method expectPeek (line 111) | func (p *Parser) expectPeek(t token.TokenType) bool { method Errors (line 121) | func (p *Parser) Errors() []string { method peekError (line 125) | func (p *Parser) peekError(t token.TokenType) { method noPrefixParseFnError (line 131) | func (p *Parser) noPrefixParseFnError(t token.TokenType) { method ParseExpressionStatement (line 136) | func (p *Parser) ParseExpressionStatement() *ast.ExpressionStatement { method parseExpression (line 144) | func (p *Parser) parseExpression(precedence int) ast.Expression { method peekPrecedence (line 170) | func (p *Parser) peekPrecedence() int { method curPrecedence (line 178) | func (p *Parser) curPrecedence() int { method parseIdentifier (line 186) | func (p *Parser) parseIdentifier() ast.Expression { method parseIntegerLiteral (line 190) | func (p *Parser) parseIntegerLiteral() ast.Expression { method parseFloatLiteral (line 205) | func (p *Parser) parseFloatLiteral() ast.Expression { method parseStringLiteral (line 219) | func (p *Parser) parseStringLiteral() ast.Expression { method parsePrefixExpression (line 226) | func (p *Parser) parsePrefixExpression() ast.Expression { method parseInfixExpression (line 239) | func (p *Parser) parseInfixExpression(left ast.Expression) ast.Express... method parseBoolean (line 253) | func (p *Parser) parseBoolean() ast.Expression { method parseNull (line 257) | func (p *Parser) parseNull() ast.Expression { method parseGroupedExpression (line 261) | func (p *Parser) parseGroupedExpression() ast.Expression { method parseObjectLiteral (line 273) | func (p *Parser) parseObjectLiteral() ast.Expression { method parseArrayLiteral (line 280) | func (p *Parser) parseArrayLiteral() ast.Expression { method parseCallExpression (line 287) | func (p *Parser) parseCallExpression(function ast.Expression) ast.Expr... method parseCallArguments (line 293) | func (p *Parser) parseCallArguments() []ast.Expression { method parseArrayElements (line 317) | func (p *Parser) parseArrayElements() []ast.Expression { method parseObjectElements (line 341) | func (p *Parser) parseObjectElements() map[string]ast.Expression { function New (line 59) | func New(l *lexer.Lexer) *Parser { FILE: ddosify_engine/core/scenario/scripting/assertion/parser/parser_test.go function TestIdentifierExpression (line 11) | func TestIdentifierExpression(t *testing.T) { function TestIntegerLiteralExpression (line 32) | func TestIntegerLiteralExpression(t *testing.T) { function TestArrayLiteralExpression (line 48) | func TestArrayLiteralExpression(t *testing.T) { function TestObjectLiteralExpression (line 93) | func TestObjectLiteralExpression(t *testing.T) { function TestFloatLiteralExpression (line 136) | func TestFloatLiteralExpression(t *testing.T) { function TestExpectPeek (line 153) | func TestExpectPeek(t *testing.T) { function TestParsingPrefixExpressions (line 166) | func TestParsingPrefixExpressions(t *testing.T) { function TestParsingInfixExpressions (line 200) | func TestParsingInfixExpressions(t *testing.T) { function TestOperatorPrecedenceParsing (line 243) | func TestOperatorPrecedenceParsing(t *testing.T) { function TestBooleanExpression (line 359) | func TestBooleanExpression(t *testing.T) { function TestCallExpressionParsing (line 385) | func TestCallExpressionParsing(t *testing.T) { function TestCallExpressionParameterParsing (line 412) | func TestCallExpressionParameterParsing(t *testing.T) { function testInfixExpression (line 465) | func testInfixExpression(t *testing.T, exp ast.Expression, left interfac... function testLiteralExpression (line 490) | func testLiteralExpression( function testIntegerLiteral (line 509) | func testIntegerLiteral(t *testing.T, il ast.Expression, value int64) bo... function testIdentifier (line 530) | func testIdentifier(t *testing.T, exp ast.Expression, value string) bool { function testBooleanLiteral (line 551) | func testBooleanLiteral(t *testing.T, exp ast.Expression, value bool) bo... function checkParserErrors (line 572) | func checkParserErrors(t *testing.T, p *Parser) { FILE: ddosify_engine/core/scenario/scripting/assertion/token/token.go type TokenType (line 3) | type TokenType type Token (line 4) | type Token struct constant ILLEGAL (line 10) | ILLEGAL = "ILLEGAL" constant EOF (line 11) | EOF = "EOF" constant IDENT (line 14) | IDENT = "IDENT" constant INT (line 15) | INT = "INT" constant FLOAT (line 16) | FLOAT = "FLOAT" constant STRING (line 17) | STRING = "STRING" constant PLUS (line 20) | PLUS = "+" constant MINUS (line 21) | MINUS = "-" constant BANG (line 22) | BANG = "!" constant ASTERISK (line 23) | ASTERISK = "*" constant SLASH (line 24) | SLASH = "/" constant AND (line 25) | AND = "&&" constant OR (line 26) | OR = "||" constant LT (line 28) | LT = "<" constant GT (line 29) | GT = ">" constant EQ (line 31) | EQ = "==" constant NOT_EQ (line 32) | NOT_EQ = "!=" constant COMMA (line 35) | COMMA = "," constant LPAREN (line 37) | LPAREN = "(" constant RPAREN (line 38) | RPAREN = ")" constant LBRACE (line 39) | LBRACE = "{" constant RBRACE (line 40) | RBRACE = "}" constant LBRACKET (line 41) | LBRACKET = "[" constant RBRACKET (line 42) | RBRACKET = "]" constant COLON (line 44) | COLON = ":" constant TRUE (line 47) | TRUE = "TRUE" constant FALSE (line 48) | FALSE = "FALSE" constant NULL (line 49) | NULL = "NULL" function LookupIdent (line 58) | func LookupIdent(ident string) TokenType { FILE: ddosify_engine/core/scenario/scripting/extraction/base.go function Extract (line 11) | func Extract(source interface{}, ce types.EnvCaptureConf) (val interface... function ExtractWithRegex (line 79) | func ExtractWithRegex(source interface{}, regexConf types.RegexCaptureCo... function ExtractFromJson (line 92) | func ExtractFromJson(source interface{}, jsonPath string) (interface{}, ... function ExtractFromXml (line 104) | func ExtractFromXml(source interface{}, xPath string) (interface{}, erro... function ExtractFromHtml (line 116) | func ExtractFromHtml(source interface{}, xPath string) (interface{}, err... type ExtractionError (line 128) | type ExtractionError struct method Error (line 133) | func (sc ExtractionError) Error() string { method Unwrap (line 137) | func (sc ExtractionError) Unwrap() error { FILE: ddosify_engine/core/scenario/scripting/extraction/base_test.go function TestHttpHeaderKey_NotSpecified (line 12) | func TestHttpHeaderKey_NotSpecified(t *testing.T) { function TestExtract_TypeAssertErrorRecover (line 29) | func TestExtract_TypeAssertErrorRecover(t *testing.T) { function TestExtract_NilSource (line 49) | func TestExtract_NilSource(t *testing.T) { function TestExtract_InvalidXml (line 67) | func TestExtract_InvalidXml(t *testing.T) { function TestCookieName_NotSpecified (line 85) | func TestCookieName_NotSpecified(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/extraction/html.go type htmlExtractor (line 10) | type htmlExtractor struct method extractFromByteSlice (line 13) | func (xe htmlExtractor) extractFromByteSlice(source []byte, xPath stri... method extractFromString (line 29) | func (xe htmlExtractor) extractFromString(source string, xPath string)... FILE: ddosify_engine/core/scenario/scripting/extraction/html_test.go function TestHtmlExtraction (line 9) | func TestHtmlExtraction(t *testing.T) { function TestHtmlExtractionSeveralNode (line 32) | func TestHtmlExtractionSeveralNode(t *testing.T) { function TestHtmlExtraction_PathNotFound (line 57) | func TestHtmlExtraction_PathNotFound(t *testing.T) { function TestInvalidHtml (line 77) | func TestInvalidHtml(t *testing.T) { function TestHtmlComplexExtraction (line 89) | func TestHtmlComplexExtraction(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/extraction/json.go type jsonExtractor (line 11) | type jsonExtractor struct method extractFromString (line 43) | func (je jsonExtractor) extractFromString(source string, jsonPath stri... method extractFromByteSlice (line 73) | func (je jsonExtractor) extractFromByteSlice(source []byte, jsonPath s... FILE: ddosify_engine/core/scenario/scripting/extraction/json_test.go function TestJsonExtract_String (line 10) | func TestJsonExtract_String(t *testing.T) { function TestJsonExtract_Object (line 34) | func TestJsonExtract_Object(t *testing.T) { function TestJsonExtract_Float (line 59) | func TestJsonExtract_Float(t *testing.T) { function TestJsonExtract_Int (line 82) | func TestJsonExtract_Int(t *testing.T) { function TestJsonExtract_Nil (line 105) | func TestJsonExtract_Nil(t *testing.T) { function TestJsonExtract_Bool (line 125) | func TestJsonExtract_Bool(t *testing.T) { function TestJsonExtract_JsonArray (line 156) | func TestJsonExtract_JsonArray(t *testing.T) { function TestJsonExtract_JsonIntArray (line 178) | func TestJsonExtract_JsonIntArray(t *testing.T) { function TestJsonExtract_JsonFloatArray (line 201) | func TestJsonExtract_JsonFloatArray(t *testing.T) { function TestJsonExtract_JsonBoolArray (line 223) | func TestJsonExtract_JsonBoolArray(t *testing.T) { function TestJsonExtract_ObjectArray (line 245) | func TestJsonExtract_ObjectArray(t *testing.T) { function TestJsonExtract_JsonPathNotFound (line 269) | func TestJsonExtract_JsonPathNotFound(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/extraction/regex.go type regexExtractor (line 8) | type regexExtractor struct method Init (line 12) | func (ri *regexExtractor) Init(regex string) { method extractFromString (line 16) | func (ri *regexExtractor) extractFromString(text string, matchNo int) ... method extractFromByteSlice (line 29) | func (ri *regexExtractor) extractFromByteSlice(text []byte, matchNo in... FILE: ddosify_engine/core/scenario/scripting/extraction/regex_test.go function TestRegexExtractFromString (line 8) | func TestRegexExtractFromString(t *testing.T) { function TestRegexExtractFromStringNoMatch (line 28) | func TestRegexExtractFromStringNoMatch(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/extraction/xml.go type xmlExtractor (line 10) | type xmlExtractor struct method extractFromByteSlice (line 13) | func (xe xmlExtractor) extractFromByteSlice(source []byte, xPath strin... method extractFromString (line 29) | func (xe xmlExtractor) extractFromString(source string, xPath string) ... FILE: ddosify_engine/core/scenario/scripting/extraction/xml_test.go function TestXmlExtraction (line 9) | func TestXmlExtraction(t *testing.T) { function TestXmlExtractionString (line 33) | func TestXmlExtractionString(t *testing.T) { function TestXmlExtraction_PathNotFound (line 57) | func TestXmlExtraction_PathNotFound(t *testing.T) { function TestInvalidXml (line 77) | func TestInvalidXml(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/injection/dynamic_test.go function TestDynamicVariableRace (line 7) | func TestDynamicVariableRace(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/injection/environment.go type BodyPiece (line 20) | type BodyPiece struct type DdosifyBodyReader (line 27) | type DdosifyBodyReader struct method Close (line 37) | func (dbr *DdosifyBodyReader) Close() error { return nil } method Read (line 39) | func (dbr *DdosifyBodyReader) Read(dst []byte) (n int, err error) { type EnvironmentInjector (line 142) | type EnvironmentInjector struct method Init (line 150) | func (ei *EnvironmentInjector) Init() { method InjectEnv (line 171) | func (ei *EnvironmentInjector) InjectEnv(text string, envs map[string]... method getEnv (line 198) | func (ei *EnvironmentInjector) getEnv(envs map[string]interface{}, key... method GenerateBodyPieces (line 347) | func (ei *EnvironmentInjector) GenerateBodyPieces(body string, envs ma... function truncateTag (line 158) | func truncateTag(tag string, rx string) string { function unifyErrors (line 241) | func unifyErrors(errors []error) error { function StringToBytes (line 251) | func StringToBytes(s string) (b []byte) { function getInjectStrFunc (line 260) | func getInjectStrFunc(rx string, function getInjectJsonFunc (line 305) | func getInjectJsonFunc(rx string, type EnvMatch (line 337) | type EnvMatch struct type EnvMatchSlice (line 341) | type EnvMatchSlice method Len (line 343) | func (a EnvMatchSlice) Len() int { return len(a) } method Swap (line 344) | func (a EnvMatchSlice) Swap(i, j int) { a[i], a[j] = a[j], a[i] } method Less (line 345) | func (a EnvMatchSlice) Less(i, j int) bool { return a[i].found[0] < a[... function GetContentLength (line 492) | func GetContentLength(pieces []BodyPiece) int { FILE: ddosify_engine/core/scenario/scripting/injection/environment_dynamic.go method InjectDynamic (line 11) | func (ei *EnvironmentInjector) InjectDynamic(text string) (string, error) { method getFakeData (line 36) | func (ei *EnvironmentInjector) getFakeData(key string) (interface{}, err... FILE: ddosify_engine/core/scenario/scripting/injection/environment_test.go function TestInjectionRegexReplacer (line 15) | func TestInjectionRegexReplacer(t *testing.T) { function ExampleEnvironmentInjector (line 106) | func ExampleEnvironmentInjector() { function TestRandomInjectionStringSlice (line 116) | func TestRandomInjectionStringSlice(t *testing.T) { function TestRandomInjectionBoolSlice (line 147) | func TestRandomInjectionBoolSlice(t *testing.T) { function TestRandomInjectionIntSlice (line 179) | func TestRandomInjectionIntSlice(t *testing.T) { function TestRandomInjectionFloat64Slice (line 211) | func TestRandomInjectionFloat64Slice(t *testing.T) { function TestRandomInjectionInterfaceSlice (line 243) | func TestRandomInjectionInterfaceSlice(t *testing.T) { function TestConcatVariablesAndInjectAsTyped (line 276) | func TestConcatVariablesAndInjectAsTyped(t *testing.T) { function TestConcatVariablesAndInjectAsTyped2 (line 313) | func TestConcatVariablesAndInjectAsTyped2(t *testing.T) { function TestConcatVariablesAndInjectAsTypedDynamic (line 350) | func TestConcatVariablesAndInjectAsTypedDynamic(t *testing.T) { function TestInvalidDynamicVarInjection (line 387) | func TestInvalidDynamicVarInjection(t *testing.T) { function TestOSEnvInjection (line 399) | func TestOSEnvInjection(t *testing.T) { function TestDdosifyBodyReader (line 426) | func TestDdosifyBodyReader(t *testing.T) { function TestDdosifyBodyReaderSplitted (line 461) | func TestDdosifyBodyReaderSplitted(t *testing.T) { function TestDdosifyBodyReaderSplittedPiece (line 512) | func TestDdosifyBodyReaderSplittedPiece(t *testing.T) { function TestDdosifyBodyReaderSplittedPiece2 (line 563) | func TestDdosifyBodyReaderSplittedPiece2(t *testing.T) { function TestDdosifyBodyReaderSplittedPiece3 (line 626) | func TestDdosifyBodyReaderSplittedPiece3(t *testing.T) { function TestDdosifyBodyReaderSplittedPiece4 (line 688) | func TestDdosifyBodyReaderSplittedPiece4(t *testing.T) { function TestDdosifyBodyReaderSplittedPiece5 (line 751) | func TestDdosifyBodyReaderSplittedPiece5(t *testing.T) { function TestGenerateBodyPieces (line 813) | func TestGenerateBodyPieces(t *testing.T) { function TestGenerateBodyPiecesWithDynamicVars (line 874) | func TestGenerateBodyPiecesWithDynamicVars(t *testing.T) { function TestGenerateBodyPiecesSorted (line 929) | func TestGenerateBodyPiecesSorted(t *testing.T) { FILE: ddosify_engine/core/scenario/scripting/injection/init.go function init (line 8) | func init() { FILE: ddosify_engine/core/scenario/service.go type ScenarioService (line 44) | type ScenarioService struct method Init (line 78) | func (s *ScenarioService) Init(ctx context.Context, scenario types.Sce... method Do (line 138) | func (s *ScenarioService) Do(proxy *url.URL, startTime time.Time) ( method engineInUserMode (line 204) | func (s *ScenarioService) engineInUserMode() bool { method enrichEnvFromData (line 211) | func (s *ScenarioService) enrichEnvFromData(envs map[string]interface{... method Done (line 234) | func (s *ScenarioService) Done() { method getOrCreateRequesters (line 246) | func (s *ScenarioService) getOrCreateRequesters(proxy *url.URL) (reque... method createRequesters (line 260) | func (s *ScenarioService) createRequesters(proxy *url.URL) (err error) { function NewScenarioService (line 64) | func NewScenarioService() *ScenarioService { type ScenarioOpts (line 68) | type ScenarioOpts struct function putInitialCookiesInJarFactory (line 122) | func putInitialCookiesInJarFactory(engineMode string, initCookies []*htt... function enrichEnvFromPrevStep (line 198) | func enrichEnvFromPrevStep(m1 map[string]interface{}, m2 map[string]inte... function injectDynamicVars (line 292) | func injectDynamicVars(vi *injection.EnvironmentInjector, envs map[strin... type scenarioItemRequester (line 309) | type scenarioItemRequester struct type Sleeper (line 316) | type Sleeper interface type RangeSleep (line 321) | type RangeSleep struct method sleep (line 326) | func (rs *RangeSleep) sleep() { type DurationSleep (line 333) | type DurationSleep struct method sleep (line 337) | func (ds *DurationSleep) sleep() { function newSleeper (line 342) | func newSleeper(sleepStr string) Sleeper { FILE: ddosify_engine/core/scenario/service_test.go type MockHttpRequester (line 37) | type MockHttpRequester struct method Init (line 50) | func (m *MockHttpRequester) Init(ctx context.Context, s types.Scenario... method Send (line 58) | func (m *MockHttpRequester) Send(client *http.Client, envs map[string]... method Done (line 63) | func (m *MockHttpRequester) Done() { method Type (line 67) | func (m *MockHttpRequester) Type() string { type MockSleep (line 71) | type MockSleep struct method sleep (line 76) | func (msl *MockSleep) sleep() { function compareScenarioServiceClients (line 81) | func compareScenarioServiceClients( function TestInitService (line 125) | func TestInitService(t *testing.T) { function TestDo (line 210) | func TestDo(t *testing.T) { function TestDoErrorOnSend (line 282) | func TestDoErrorOnSend(t *testing.T) { function TestDone (line 403) | func TestDone(t *testing.T) { function TestGetOrCreateRequesters (line 472) | func TestGetOrCreateRequesters(t *testing.T) { function TestGetOrCreateRequestersNewProxy (line 521) | func TestGetOrCreateRequestersNewProxy(t *testing.T) { function TestCreateRequestersErrorOnRequesterInit (line 573) | func TestCreateRequestersErrorOnRequesterInit(t *testing.T) { function TestnewSleeper (line 605) | func TestnewSleeper(t *testing.T) { function TestSleep (line 637) | func TestSleep(t *testing.T) { function TestInjectDynamicVars (line 679) | func TestInjectDynamicVars(t *testing.T) { function TestOnlyOneClientInDebugModeInUserMode (line 709) | func TestOnlyOneClientInDebugModeInUserMode(t *testing.T) { FILE: ddosify_engine/core/types/error.go constant ErrorProxy (line 28) | ErrorProxy = "proxyError" constant ErrorConn (line 29) | ErrorConn = "connectionError" constant ErrorUnkown (line 30) | ErrorUnkown = "unknownError" constant ErrorIntented (line 31) | ErrorIntented = "intentedError" constant ErrorDns (line 32) | ErrorDns = "dnsError" constant ErrorParse (line 33) | ErrorParse = "parseError" constant ErrorAddr (line 34) | ErrorAddr = "addressError" constant ErrorInvalidRequest (line 35) | ErrorInvalidRequest = "invalidRequestError" constant ReasonProxyFailed (line 38) | ReasonProxyFailed = "proxy connection refused" constant ReasonProxyTimeout (line 39) | ReasonProxyTimeout = "proxy timeout" constant ReasonConnTimeout (line 40) | ReasonConnTimeout = "connection timeout" constant ReasonReadTimeout (line 41) | ReasonReadTimeout = "read timeout" constant ReasonConnRefused (line 42) | ReasonConnRefused = "connection refused" constant ReasonCtxCanceled (line 46) | ReasonCtxCanceled = "context canceled" type RequestError (line 50) | type RequestError struct method Error (line 56) | func (e *RequestError) Error() string { type ScenarioValidationError (line 60) | type ScenarioValidationError struct method Error (line 65) | func (sc ScenarioValidationError) Error() string { method Unwrap (line 69) | func (sc ScenarioValidationError) Unwrap() error { type EnvironmentNotDefinedError (line 73) | type EnvironmentNotDefinedError struct method Error (line 78) | func (sc EnvironmentNotDefinedError) Error() string { method Unwrap (line 82) | func (sc EnvironmentNotDefinedError) Unwrap() error { type CaptureConfigError (line 86) | type CaptureConfigError struct method Error (line 91) | func (sc CaptureConfigError) Error() string { method Unwrap (line 95) | func (sc CaptureConfigError) Unwrap() error { type FailedAssertion (line 99) | type FailedAssertion struct FILE: ddosify_engine/core/types/hammer.go constant LoadTypeLinear (line 35) | LoadTypeLinear = "linear" constant LoadTypeIncremental (line 36) | LoadTypeIncremental = "incremental" constant LoadTypeWaved (line 37) | LoadTypeWaved = "waved" constant EngineModeDistinctUser (line 40) | EngineModeDistinctUser = "distinct-user" constant EngineModeRepeatedUser (line 41) | EngineModeRepeatedUser = "repeated-user" constant EngineModeDdosify (line 42) | EngineModeDdosify = "ddosify" constant DefaultIterCount (line 45) | DefaultIterCount = 100 constant DefaultLoadType (line 46) | DefaultLoadType = LoadTypeLinear constant DefaultDuration (line 47) | DefaultDuration = 10 constant DefaultTimeout (line 48) | DefaultTimeout = 5 constant DefaultMethod (line 49) | DefaultMethod = http.MethodGet constant DefaultOutputType (line 50) | DefaultOutputType = "stdout" constant DefaultSamplingCount (line 51) | DefaultSamplingCount = 3 constant DefaultSingleMode (line 52) | DefaultSingleMode = true type TestAssertionOpt (line 58) | type TestAssertionOpt struct type TimeRunCount (line 64) | type TimeRunCount type Tag (line 69) | type Tag struct type CsvConf (line 74) | type CsvConf struct type CustomCookie (line 85) | type CustomCookie struct type Hammer (line 99) | type Hammer struct method Validate (line 150) | func (h *Hammer) Validate() error { function getCsvEnvs (line 179) | func getCsvEnvs(testDataConf map[string]CsvConf) []string { FILE: ddosify_engine/core/types/hammer_test.go function newDummyHammer (line 30) | func newDummyHammer() Hammer { function TestHammerValidAttackType (line 46) | func TestHammerValidAttackType(t *testing.T) { function TestHammerInValidAttackType (line 59) | func TestHammerInValidAttackType(t *testing.T) { function TestHammerValidAuth (line 68) | func TestHammerValidAuth(t *testing.T) { function TestHammerInValidAuth (line 84) | func TestHammerInValidAuth(t *testing.T) { function TestHammerValidScenario (line 97) | func TestHammerValidScenario(t *testing.T) { function TestHammerEmptyScenario (line 141) | func TestHammerEmptyScenario(t *testing.T) { function TestHammerInvalidScenarioMethod (line 150) | func TestHammerInvalidScenarioMethod(t *testing.T) { function TestHammerEmptyScenarioStepID (line 184) | func TestHammerEmptyScenarioStepID(t *testing.T) { function TestHammerDuplicateScenarioStepID (line 216) | func TestHammerDuplicateScenarioStepID(t *testing.T) { function TestHammerStepSleep (line 240) | func TestHammerStepSleep(t *testing.T) { function TestHammerInvalidManualLoadDuration (line 302) | func TestHammerInvalidManualLoadDuration(t *testing.T) { function TestHammerAccessingNotDefinedCsvEnvs (line 326) | func TestHammerAccessingNotDefinedCsvEnvs(t *testing.T) { FILE: ddosify_engine/core/types/regex/regex.go constant DynamicVariableRegex (line 3) | DynamicVariableRegex = `\{{(_)[^}]+\}}` constant JsonDynamicVariableRegex (line 4) | JsonDynamicVariableRegex = `\"{{(_)[^}]+\}}"` constant EnvironmentVariableRegex (line 6) | EnvironmentVariableRegex = `{{[a-zA-Z$][a-zA-Z0-9_().-]*}}` constant JsonEnvironmentVarRegex (line 7) | JsonEnvironmentVarRegex = `\"{{[a-zA-Z$][a-zA-Z0-9_().-]*}}"` FILE: ddosify_engine/core/types/regex/regex_test.go function TestDynamicVariableRegex (line 8) | func TestDynamicVariableRegex(t *testing.T) { function TestEnvironmentVariableRegex (line 46) | func TestEnvironmentVariableRegex(t *testing.T) { FILE: ddosify_engine/core/types/response.go type ScenarioResult (line 32) | type ScenarioResult struct type ScenarioStepResult (line 44) | type ScenarioStepResult struct FILE: ddosify_engine/core/types/scenario.go constant ProtocolHTTP (line 41) | ProtocolHTTP = "HTTP" constant ProtocolHTTPS (line 42) | ProtocolHTTPS = "HTTPS" constant AuthHttpBasic (line 45) | AuthHttpBasic = "basic" constant maxSleep (line 48) | maxSleep = 90000 constant EnvironmentVariableRegexStr (line 51) | EnvironmentVariableRegexStr = `{{[a-zA-Z$][a-zA-Z0-9_().-]*}}` constant EnvironmentVariableNameStr (line 54) | EnvironmentVariableNameStr = `^[a-zA-Z][a-zA-Z0-9_-]*$` function init (line 70) | func init() { type Scenario (line 76) | type Scenario struct method validate (line 83) | func (s *Scenario) validate() error { function checkEnvsValidInStep (line 129) | func checkEnvsValidInStep(st *ScenarioStep, definedEnvs map[string]struc... type ScenarioStep (line 194) | type ScenarioStep struct method validate (line 274) | func (si *ScenarioStep) validate(definedEnvs map[string]struct{}) error { type SourceType (line 238) | type SourceType constant Header (line 241) | Header SourceType = "header" constant Body (line 242) | Body SourceType = "body" constant Cookie (line 243) | Cookie SourceType = "cookies" type RegexCaptureConf (line 246) | type RegexCaptureConf struct type EnvCaptureConf (line 251) | type EnvCaptureConf struct type CsvData (line 262) | type CsvData struct type Auth (line 268) | type Auth struct function wrapAsScenarioValidationError (line 323) | func wrapAsScenarioValidationError(err error) ScenarioValidationError { function validateCaptureConf (line 330) | func validateCaptureConf(conf EnvCaptureConf) error { function ParseTLS (line 352) | func ParseTLS(certFile, keyFile string) (tls.Certificate, *x509.CertPool... function IsTargetValid (line 374) | func IsTargetValid(url string) error { FILE: ddosify_engine/core/types/scenario_test.go function TestScenarioStepValid_EnvVariableInHeader (line 11) | func TestScenarioStepValid_EnvVariableInHeader(t *testing.T) { function TestScenarioStepValid_EnvVariableInPayload (line 43) | func TestScenarioStepValid_EnvVariableInPayload(t *testing.T) { function TestScenarioStepValid_EnvVariableInURL (line 73) | func TestScenarioStepValid_EnvVariableInURL(t *testing.T) { function TestScenarioStep_InvalidCaptureConfig (line 103) | func TestScenarioStep_InvalidCaptureConfig(t *testing.T) { function TestScenarioStepValid_OSEnvVariableInPayload (line 166) | func TestScenarioStepValid_OSEnvVariableInPayload(t *testing.T) { FILE: ddosify_engine/core/util/buffer_pool.go type BufferFactoryMethod (line 9) | type BufferFactoryMethod type BufferCloseMethod (line 10) | type BufferCloseMethod function NewBufferPool (line 12) | func NewBufferPool(initialCap, maxCap int, factory BufferFactoryMethod, ... FILE: ddosify_engine/core/util/helper.go function StringInSlice (line 29) | func StringInSlice(a string, list []string) bool { function IsSystemInTestMode (line 39) | func IsSystemInTestMode() bool { FILE: ddosify_engine/core/util/pool.go type Pool (line 3) | type Pool struct method Get (line 10) | func (p *Pool[T]) Get() T { method Put (line 20) | func (p *Pool[T]) Put(item T) error { method Len (line 42) | func (p *Pool[T]) Len() int { method Done (line 46) | func (p *Pool[T]) Done() { FILE: ddosify_engine/main.go constant headerRegexp (line 45) | headerRegexp = `^*(.+):\s*(.+)` function main (line 82) | func main() { function start (line 93) | func start() { function createHammer (line 107) | func createHammer() (h types.Hammer, err error) { function createProxy (line 213) | func createProxy() (p proxy.Proxy, err error) { function createScenario (line 229) | func createScenario() (s types.Scenario, err error) { function versionTemplate (line 282) | func versionTemplate() string { function printVersionAndExit (line 295) | func printVersionAndExit() { function exitWithMsg (line 300) | func exitWithMsg(msg string) { function parseHeaders (line 308) | func parseHeaders(headersArr []string) (headersMap map[string]string, er... type header (line 322) | type header method String (line 324) | func (h *header) String() string { method Set (line 328) | func (h *header) Set(value string) error { function isFlagPassed (line 333) | func isFlagPassed(name string) bool { FILE: ddosify_engine/main_benchmark_test.go type TestType (line 45) | type TestType constant Multipart (line 48) | Multipart TestType = "multipart" constant Correlation (line 49) | Correlation TestType = "correlation" constant Basic (line 50) | Basic TestType = "basic" function BenchmarkEngines (line 174) | func BenchmarkEngines(t *testing.B) { function max (line 321) | func max[T constraints.Ordered](s []T) T { function sum (line 335) | func sum[T constraints.Ordered](s []T) T { FILE: ddosify_engine/main_exit_test.go function TestExitStatusOnTestFail (line 35) | func TestExitStatusOnTestFail(t *testing.T) { FILE: ddosify_engine/main_test.go function TestMain (line 41) | func TestMain(m *testing.M) { function resetFlags (line 48) | func resetFlags() { function TestDefaultFlagValues (line 72) | func TestDefaultFlagValues(t *testing.T) { function TestCreateHammer (line 120) | func TestCreateHammer(t *testing.T) { function TestDebugFlagOverridesConfig (line 173) | func TestDebugFlagOverridesConfig(t *testing.T) { function TestCreateScenario (line 214) | func TestCreateScenario(t *testing.T) { function TestCreateScenarioTLS (line 291) | func TestCreateScenarioTLS(t *testing.T) { function TestCreateProxy (line 354) | func TestCreateProxy(t *testing.T) { function TestParseHeaders (line 415) | func TestParseHeaders(t *testing.T) { function TestRun (line 462) | func TestRun(t *testing.T) { function TestTargetEmpty (line 483) | func TestTargetEmpty(t *testing.T) { function TestTargetInvalidHammer (line 506) | func TestTargetInvalidHammer(t *testing.T) { function TestVersion (line 529) | func TestVersion(t *testing.T) { function Test_versionTemplate (line 552) | func Test_versionTemplate(t *testing.T) { function createCertPairFiles (line 571) | func createCertPairFiles(cert string, certKey string) (*os.File, *os.Fil... function generateCerts (line 595) | func generateCerts() (string, string) {