ParseHeaderLine parses HTTP header as key-value pair. It returns parsed values and true if parse is ok.
(line []byte)
| 178 | // ParseHeaderLine parses HTTP header as key-value pair. It returns parsed |
| 179 | // values and true if parse is ok. |
| 180 | func ParseHeaderLine(line []byte) (k, v []byte, ok bool) { |
| 181 | colon := bytes.IndexByte(line, ':') |
| 182 | if colon == -1 { |
| 183 | return |
| 184 | } |
| 185 | k = trim(line[:colon]) |
| 186 | for _, c := range k { |
| 187 | if !OctetTypes[c].IsToken() { |
| 188 | return nil, nil, false |
| 189 | } |
| 190 | } |
| 191 | v = trim(line[colon+1:]) |
| 192 | return k, v, true |
| 193 | } |
| 194 | |
| 195 | // IntFromASCII converts ascii encoded decimal numeric value from HTTP entities |
| 196 | // to an integer. |