From bc00c07248b1097f6e8f9281edc659cbd4bdd4ff Mon Sep 17 00:00:00 2001 From: Shulhan Date: Thu, 8 Feb 2024 17:01:25 +0700 Subject: Release gorankusu v0.5.0 This release rename the project from "trunks" to "gorankusu". The original idea of "trunks" is because the core library that we use for load testing is named vegeta (from Dragon Ball), and Vegeta has a son named Trunks. In English, trunks also have multiple meanings. In order to have a unique name, we rename the project to "gorankusu", which is a combination of "go" (the main programming language that built the application) and "torankusu" the Hepburn of "Trunks". === New features * all: allow submit free form request body in HTTPTarget * all: implement form input file * all: add type to customize how to dump HTTP request and response * all: support parameter binding in HTTP Path === Enhancements * _www: check HTTP response status greater or equal 400 --- _www/doc/CHANGELOG.adoc | 90 ++++++++++++++++++++++++++++++++++++++++++++++++- gorankusu.go | 2 +- 2 files changed, 90 insertions(+), 2 deletions(-) diff --git a/_www/doc/CHANGELOG.adoc b/_www/doc/CHANGELOG.adoc index 6aa8623..010aaf5 100644 --- a/_www/doc/CHANGELOG.adoc +++ b/_www/doc/CHANGELOG.adoc @@ -1,9 +1,97 @@ = gorankusu CHANGELOG -Shulhan :toc: :sectanchors: :sectlinks: +[#v0_5_0] +== gorankusu v0.5.0 (2022-02-08) + +This release rename the project from "trunks" to "gorankusu". + +The original idea of "trunks" is because the core library that we +use for load testing is named +https://github.com/tsenart/vegeta/["vegeta"] +(from Dragon Ball), and +https://en.wikipedia.org/wiki/Vegeta[Vegeta] +has a son named Trunks. +In English, trunks also have multiple meanings. + +In order to have a unique name, we rename the project to "gorankusu", +which is a combination of "go" (the main programming language +that built the application) and "torankusu" the Hepburn of "Trunks". + + +[#v0_5_0__breaking_changes] +=== Breaking changes + +In order for making the code consistent and conform with linters, some +exported types, fields, methods, and functions has been renamed. + +* In AttackResult type, field HttpTargetID renamed to HTTPTargetID +* HttpConvertParams renamed to HTTPConvertParams +* HttpRunHandler renamed to HTTPRunHandler +* HttpAttackHandler renamed to HTTPAttackHandler +* HttpPreAttackHandler renamed to HTTPPreAttackHandler +* HttpTarget renamed to HTTPTarget + +and many more. + +[#v0_5_0__new_features] +=== New features + +all: allow submit free form request body in HTTPTarget:: ++ +-- +In HTTPTarget we add fields RawBody and WithRawBody. + +The field RawBody can be filled by anything by user. +Those field can be activated by setting WithRawBody. + +Implements: https://todo.sr.ht/~shulhan/gorankusu/3 +-- + +all: implement form input file:: ++ +-- +The FormInput now can be set to FormInputKindFile that will rendered +as "" on the web user interface. + +Once submitted, the file name, type, size, and lastModification will +be stored under FormInput Filename, Filetype, Filesize, and Filemodms. + +Implements: https://todo.sr.ht/~shulhan/trunks/1 +-- + + +all: add type to customize how to dump HTTP request and response:: ++ +-- +The HTTPRequestDumper define an handler to convert [http.Request] into +[RunResponse] DumpRequest. +The HTTPResponseDumper define an handler to convert [http.Response] +into [RunResponse] DumpResponse. + +In HTTPTarget we add fields RequestDumper and ResponseDumper that if its not +nil it will be used to dump HTTP request and response to raw bytes. +-- + + +all: support parameter binding in HTTP Path:: ++ +If HTTP Path contains key, for example "/:book", and the Params contains +the same key, the Path will be filled with value from Params. +The same key in Params will be deleted and not send on query parameter +or body. + + +[#v0_5_0__enhancements] +=== Enhancements + +_www: check HTTP response status greater or equal 400:: ++ +Any HTTP status code below 400 are still processable and not an error. + + [#v0_4_1] == gorankusu v0.4.1 (2023-11-11) diff --git a/gorankusu.go b/gorankusu.go index 806c698..f3d120e 100644 --- a/gorankusu.go +++ b/gorankusu.go @@ -20,7 +20,7 @@ import ( ) // Version of gorankusu module. -const Version = `0.4.1` +const Version = `0.5.0` // List of default values. const ( -- cgit v1.3