Add http retcode
This commit is contained in:
parent
09bc16857f
commit
ba2c05324a
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
16
main.go
16
main.go
|
@ -12,7 +12,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// MeasureTTFB measures the Time to First Byte for the given URL.
|
// MeasureTTFB measures the Time to First Byte for the given URL.
|
||||||
func MeasureTTFB(url string, cookie string, verbose bool) (int64, error) {
|
func MeasureTTFB(url string, cookie string, verbose bool) (int64, int, error) {
|
||||||
// Create a custom HTTP transport to allow measuring the TTFB.
|
// Create a custom HTTP transport to allow measuring the TTFB.
|
||||||
transport := &http.Transport{
|
transport := &http.Transport{
|
||||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||||
|
@ -25,7 +25,7 @@ func MeasureTTFB(url string, cookie string, verbose bool) (int64, error) {
|
||||||
// Create a new request.
|
// Create a new request.
|
||||||
req, err := http.NewRequest("GET", url, nil)
|
req, err := http.NewRequest("GET", url, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// If a cookie is provided, set it in the request header.
|
// If a cookie is provided, set it in the request header.
|
||||||
|
@ -46,7 +46,7 @@ func MeasureTTFB(url string, cookie string, verbose bool) (int64, error) {
|
||||||
// Perform the request.
|
// Perform the request.
|
||||||
resp, err := client.Do(req)
|
resp, err := client.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, 0, err
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ func MeasureTTFB(url string, cookie string, verbose bool) (int64, error) {
|
||||||
fmt.Println("Received response status:", resp.Status)
|
fmt.Println("Received response status:", resp.Status)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ttfb, nil
|
return ttfb, resp.StatusCode, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -86,17 +86,17 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Measure the TTFB.
|
// Measure the TTFB.
|
||||||
ttfb, err := MeasureTTFB(url, cookie, *verbose)
|
ttfb, statusCode, err := MeasureTTFB(url, cookie, *verbose)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Error measuring TTFB: %v\n", err)
|
fmt.Printf("Error measuring TTFB: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only print the TTFB in milliseconds by default.
|
// Print the TTFB and HTTP status code.
|
||||||
if *verbose {
|
if *verbose {
|
||||||
fmt.Printf("Time to First Byte for %s: %d ms\n", url, ttfb)
|
fmt.Printf("Time to First Byte for %s: %d ms, HTTP Status: %d\n", url, ttfb, statusCode)
|
||||||
} else {
|
} else {
|
||||||
fmt.Printf("%d\n", ttfb)
|
fmt.Printf("%d,%d\n", ttfb, statusCode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue