mirror of
https://github.com/bettercap/bettercap
synced 2025-07-06 04:52:10 -07:00
Merge pull request #1195 from bettercap/otto_http_getHeaders
Add req.GetHeaders and res.GetHeaders, reduce overhead.
This commit is contained in:
commit
4f51c57dd4
2 changed files with 42 additions and 4 deletions
|
@ -117,6 +117,7 @@ func (j *JSRequest) CheckIfModifiedAndUpdateHash() bool {
|
|||
}
|
||||
|
||||
func (j *JSRequest) GetHeader(name, deflt string) string {
|
||||
name = strings.ToLower(name)
|
||||
headers := strings.Split(j.Headers, "\r\n")
|
||||
for i := 0; i < len(headers); i++ {
|
||||
if headers[i] != "" {
|
||||
|
@ -124,8 +125,7 @@ func (j *JSRequest) GetHeader(name, deflt string) string {
|
|||
if len(header_parts) != 0 && len(header_parts[0]) == 3 {
|
||||
header_name := string(header_parts[0][1])
|
||||
header_value := string(header_parts[0][2])
|
||||
|
||||
if strings.ToLower(name) == strings.ToLower(header_name) {
|
||||
if name == strings.ToLower(header_name) {
|
||||
return header_value
|
||||
}
|
||||
}
|
||||
|
@ -134,6 +134,25 @@ func (j *JSRequest) GetHeader(name, deflt string) string {
|
|||
return deflt
|
||||
}
|
||||
|
||||
func (j *JSRequest) GetHeaders(name string) []string {
|
||||
name = strings.ToLower(name)
|
||||
headers := strings.Split(j.Headers, "\r\n")
|
||||
header_values := make([]string, 0, len(headers))
|
||||
for i := 0; i < len(headers); i++ {
|
||||
if headers[i] != "" {
|
||||
header_parts := header_regexp.FindAllSubmatch([]byte(headers[i]), 1)
|
||||
if len(header_parts) != 0 && len(header_parts[0]) == 3 {
|
||||
header_name := string(header_parts[0][1])
|
||||
header_value := string(header_parts[0][2])
|
||||
if name == strings.ToLower(header_name) {
|
||||
header_values = append(header_values, header_value)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return header_values
|
||||
}
|
||||
|
||||
func (j *JSRequest) SetHeader(name, value string) {
|
||||
name = strings.TrimSpace(name)
|
||||
value = strings.TrimSpace(value)
|
||||
|
|
|
@ -98,6 +98,7 @@ func (j *JSResponse) CheckIfModifiedAndUpdateHash() bool {
|
|||
}
|
||||
|
||||
func (j *JSResponse) GetHeader(name, deflt string) string {
|
||||
name = strings.ToLower(name)
|
||||
headers := strings.Split(j.Headers, "\r\n")
|
||||
for i := 0; i < len(headers); i++ {
|
||||
if headers[i] != "" {
|
||||
|
@ -105,8 +106,7 @@ func (j *JSResponse) GetHeader(name, deflt string) string {
|
|||
if len(header_parts) != 0 && len(header_parts[0]) == 3 {
|
||||
header_name := string(header_parts[0][1])
|
||||
header_value := string(header_parts[0][2])
|
||||
|
||||
if strings.ToLower(name) == strings.ToLower(header_name) {
|
||||
if name == strings.ToLower(header_name) {
|
||||
return header_value
|
||||
}
|
||||
}
|
||||
|
@ -115,6 +115,25 @@ func (j *JSResponse) GetHeader(name, deflt string) string {
|
|||
return deflt
|
||||
}
|
||||
|
||||
func (j *JSResponse) GetHeaders(name string) []string {
|
||||
name = strings.ToLower(name)
|
||||
headers := strings.Split(j.Headers, "\r\n")
|
||||
header_values := make([]string, 0, len(headers))
|
||||
for i := 0; i < len(headers); i++ {
|
||||
if headers[i] != "" {
|
||||
header_parts := header_regexp.FindAllSubmatch([]byte(headers[i]), 1)
|
||||
if len(header_parts) != 0 && len(header_parts[0]) == 3 {
|
||||
header_name := string(header_parts[0][1])
|
||||
header_value := string(header_parts[0][2])
|
||||
if name == strings.ToLower(header_name) {
|
||||
header_values = append(header_values, header_value)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return header_values
|
||||
}
|
||||
|
||||
func (j *JSResponse) SetHeader(name, value string) {
|
||||
name = strings.TrimSpace(name)
|
||||
value = strings.TrimSpace(value)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue