1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

windows: Unicode and IPv6 http/sockets

cleanup schannel implementation (drop NT4.0 compatibility, use unicode strings, etc)
restore http tests
fix socket test: it did not throw before
This commit is contained in:
vitalyster
2019-09-26 22:54:15 +03:00
committed by Alexander Medvednikov
parent 22d91148ca
commit 9834ccfcd9
8 changed files with 89 additions and 172 deletions

View File

@ -28,14 +28,7 @@ struct C.SSL {
}
fn init() int {
$if mac {
C.SSL_library_init()
}
$if linux {
C.SSL_library_init()
}
//C.SSL_load_error_strings()
//C.OPENSSL_config(0)
C.SSL_library_init()
return 1
}

View File

@ -8,6 +8,7 @@ module http
#flag windows -I @VROOT/thirdparty/vschannel
#flag -l ws2_32
#flag -l crypt32
#flag -l secur32
#include "vschannel.c"
@ -22,7 +23,7 @@ fn (req &Request) ssl_do(port int, method, host_name, path string) Response {
mut buff := malloc(C.vsc_init_resp_buff_size)
addr := host_name
sdata := req.build_request_headers(method, host_name, path)
length := int(C.request(&ctx, port, addr.str, sdata.str, &buff))
length := int(C.request(&ctx, port, addr.to_wide(), sdata.str, &buff))
C.vschannel_cleanup(&ctx)
return parse_response(string(buff, length))

View File

@ -1,5 +1,5 @@
// import net.urllib
// import http
import http
fn test_escape_unescape() {
/*
@ -12,15 +12,11 @@ fn test_escape_unescape() {
}
fn test_http_get() {
/*
$if windows { return }
assert http.get_text('https://vlang.io/version') == '0.1.5'
println('http ok')
*/
}
fn test_http_get_from_vlang_utc_now() {
/*
fn test_http_get_from_vlang_utc_now() {
urls := ['http://vlang.io/utc_now', 'https://vlang.io/utc_now']
for url in urls {
println('Test getting current time from $url by http.get')
@ -30,11 +26,9 @@ fn test_http_get_from_vlang_utc_now() {
assert res.text.int() > 1566403696
println('Current time is: ${res.text.int()}')
}
*/
}
fn test_public_servers() {
/*
urls := [
'http://github.com/robots.txt',
'http://google.com/robots.txt',
@ -49,5 +43,4 @@ fn test_public_servers() {
assert 200 == res.status_code
assert res.text.len > 0
}
*/
}