HTTP Clients
Response Status
Client code usually branches on a response status before reading the body.
Response Status
response_status.go
package main
import "fmt"
type responseMeta struct {
StatusCode int
Status string
}
func main() {
var statusCode =
text := "OK"
if statusCode == 404 {
text = "Not Found"
}
if statusCode == 503 {
text = "Service Unavailable"
}
response := responseMeta{
StatusCode: statusCode,
Status: fmt.Sprintf("%d %s", statusCode, text),
}
group := "other"
if response.StatusCode >= 200 && response.StatusCode < 300 {
group = "success"
}
if response.StatusCode >= 400 && response.StatusCode < 500 {
group = "client error"
}
if response.StatusCode >= 500 {
group = "server error"
}
fmt.Println("status=", response.Status)
fmt.Println("code=", response.StatusCode)
fmt.Println("group=", group)
}
package main
import "fmt"
type responseMeta struct {
StatusCode int
Status string
}
func main() {
var statusCode =
text := "OK"
if statusCode == 404 {
text = "Not Found"
}
if statusCode == 503 {
text = "Service Unavailable"
}
response := responseMeta{
StatusCode: statusCode,
Status: fmt.Sprintf("%d %s", statusCode, text),
}
group := "other"
if response.StatusCode >= 200 && response.StatusCode < 300 {
group = "success"
}
if response.StatusCode >= 400 && response.StatusCode < 500 {
group = "client error"
}
if response.StatusCode >= 500 {
group = "server error"
}
fmt.Println("status=", response.Status)
fmt.Println("code=", response.StatusCode)
fmt.Println("group=", group)
}
package main
import "fmt"
type responseMeta struct {
StatusCode int
Status string
}
func main() {
var statusCode =
text := "OK"
if statusCode == 404 {
text = "Not Found"
}
if statusCode == 503 {
text = "Service Unavailable"
}
response := responseMeta{
StatusCode: statusCode,
Status: fmt.Sprintf("%d %s", statusCode, text),
}
group := "other"
if response.StatusCode >= 200 && response.StatusCode < 300 {
group = "success"
}
if response.StatusCode >= 400 && response.StatusCode < 500 {
group = "client error"
}
if response.StatusCode >= 500 {
group = "server error"
}
fmt.Println("status=", response.Status)
fmt.Println("code=", response.StatusCode)
fmt.Println("group=", group)
}
status code
HTTP status codes group results into success, client error, server error, and other categories.