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