-
Notifications
You must be signed in to change notification settings - Fork 0
/
status.go
37 lines (28 loc) · 1.09 KB
/
status.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package dic
import (
"fmt"
"strings"
)
// Генератор кода.
//go:generate go run status_generate.go
// Status Справочник статусов HTTP ответов.
func Status() Statuses { return singletonStatus }
// Code Числовой код статуса HTTP ответа.
func (sso *tStatus) Code() int { return sso.code }
// IsEqual Истина, если статусы эквивалентны.
func (sso *tStatus) IsEqual(s IStatus) (ret bool) {
if s == nil {
return false
}
if !strings.EqualFold(sso.String(), s.String()) {
return
}
ret = sso.Code() == s.Code()
return
}
// IsEqualCode Истина, если коды статусо HTTP ответов эквивалентны.
func (sso *tStatus) IsEqualCode(c int) bool { return sso.code == c }
// String Интерфейс Stringify. Статус HTTP ответа в виде строки.
func (sso *tStatus) String() string { return fmt.Sprintf("%s", sso.status) }
// Bytes Статус HTTP ответа в виде среза байт.
func (sso *tStatus) Bytes() []byte { return []byte(sso.String()) }