http: use bufsize const
parent
e49ca2a799
commit
5d08c9d5a8
|
@ -5,6 +5,8 @@ module http
|
||||||
|
|
||||||
import net.urllib
|
import net.urllib
|
||||||
import net.http.chunked
|
import net.http.chunked
|
||||||
|
import strings
|
||||||
|
import net
|
||||||
|
|
||||||
const (
|
const (
|
||||||
max_redirects = 4
|
max_redirects = 4
|
||||||
|
@ -377,3 +379,31 @@ pub fn unescape(s string) string {
|
||||||
pub fn escape(s string) string {
|
pub fn escape(s string) string {
|
||||||
panic('http.escape() was replaced with http.escape_url()')
|
panic('http.escape() was replaced with http.escape_url()')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
bufsize = 512
|
||||||
|
)
|
||||||
|
|
||||||
|
fn (req &Request) http_do(port int, method, host_name, path string) ?Response {
|
||||||
|
rbuffer := [bufsize]byte
|
||||||
|
mut sb := strings.new_builder(100)
|
||||||
|
s := req.build_request_headers(method, host_name, path)
|
||||||
|
client := net.dial(host_name, port) or {
|
||||||
|
return error(err)
|
||||||
|
}
|
||||||
|
client.send(s.str, s.len) or {
|
||||||
|
}
|
||||||
|
for {
|
||||||
|
readbytes := client.crecv(rbuffer, bufsize)
|
||||||
|
if readbytes < 0 {
|
||||||
|
return error('http.request.http_do: error reading response. readbytes=$readbytes')
|
||||||
|
}
|
||||||
|
if readbytes == 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
sb.write(tos(rbuffer, readbytes))
|
||||||
|
}
|
||||||
|
client.close() or {
|
||||||
|
}
|
||||||
|
return parse_response(sb.str())
|
||||||
|
}
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
module http
|
|
||||||
|
|
||||||
import net
|
|
||||||
import strings
|
|
||||||
|
|
||||||
fn (req &Request) http_do(port int, method, host_name, path string) ?Response {
|
|
||||||
bufsize := 512
|
|
||||||
rbuffer := [512]byte
|
|
||||||
mut sb := strings.new_builder(100)
|
|
||||||
s := req.build_request_headers(method, host_name, path)
|
|
||||||
client := net.dial(host_name, port) or {
|
|
||||||
return error(err)
|
|
||||||
}
|
|
||||||
client.send(s.str, s.len) or {
|
|
||||||
}
|
|
||||||
for {
|
|
||||||
readbytes := client.crecv(rbuffer, bufsize)
|
|
||||||
if readbytes < 0 {
|
|
||||||
return error('http.request.http_do: error reading response. readbytes=$readbytes')
|
|
||||||
}
|
|
||||||
if readbytes == 0 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
sb.write(tos(rbuffer, readbytes))
|
|
||||||
}
|
|
||||||
client.close() or {
|
|
||||||
}
|
|
||||||
return parse_response(sb.str())
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue