diff options
-rw-r--r-- | src/printer.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/printer.go b/src/printer.go new file mode 100644 index 0000000..7bc9beb --- /dev/null +++ b/src/printer.go @@ -0,0 +1,42 @@ +package main + +import "fmt" + +func printResponses(printChannel chan Response) { + var i int + for { + // read a response from the printChannel for further usage + response := <-printChannel + + // define a postfix: a string attached to the end of all printed + // string set in the section filtering the status code cases + var postfix string + var prefix string + + // define what color should be used to print the individual status + // codes + var statusCode string + + switch response.StatusCode { + case 200: + + // jump to the beginning of the line, clear the line, then print + // the response + prefix = "\r\033[K" + statusCode = green(fmt.Sprintf("%d", response.StatusCode)) + postfix = "\n" + + case 404: + + // print the status code, then clear the line and jump back to + // the beginning + statusCode = red(fmt.Sprintf("%d", response.StatusCode)) + postfix = "\033[K\r" + + } + + // print the foo + fmt.Printf("%s%.7d: %s %s%s", prefix, i, statusCode, response.FuzzWord, postfix) + i++ + } +} |