mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
websocket: use log instead submodule logger (1/4) (#5921)
This commit is contained in:
committed by
GitHub
parent
44c280e522
commit
0d8ebf5845
@@ -1,7 +1,7 @@
|
||||
module websocket
|
||||
|
||||
fn (mut ws Client) read_handshake(seckey string) {
|
||||
l.d('reading handshake...')
|
||||
ws.log.debug('reading handshake...')
|
||||
mut bytes_read := 0
|
||||
max_buffer := 1024
|
||||
buffer_size := 1
|
||||
@@ -12,10 +12,11 @@ fn (mut ws Client) read_handshake(seckey string) {
|
||||
res = ws.read_from_server(buffer + bytes_read, buffer_size)
|
||||
}
|
||||
if res == 0 || res == -1 {
|
||||
l.f('read_handshake: Failed to read handshake.')
|
||||
ws.log.fatal('read_handshake: Failed to read handshake.')
|
||||
}
|
||||
if buffer[bytes_read] == `\n` && buffer[bytes_read - 1] == `\r` && buffer[bytes_read -
|
||||
2] == `\n` && buffer[bytes_read - 3] == `\r` {
|
||||
if buffer[bytes_read] == `\n` &&
|
||||
buffer[bytes_read - 1] == `\r` && buffer[bytes_read - 2] == `\n` &&
|
||||
buffer[bytes_read - 3] == `\r` {
|
||||
break
|
||||
}
|
||||
bytes_read += buffer_size
|
||||
@@ -25,11 +26,11 @@ fn (mut ws Client) read_handshake(seckey string) {
|
||||
}
|
||||
|
||||
fn (mut ws Client) handshake_handler(handshake_response, seckey string) {
|
||||
l.d('handshake_handler:\r\n${handshake_response}')
|
||||
ws.log.debug('handshake_handler:\r\n$handshake_response')
|
||||
lines := handshake_response.split_into_lines()
|
||||
header := lines[0]
|
||||
if !header.starts_with('HTTP/1.1 101') && !header.starts_with('HTTP/1.0 101') {
|
||||
l.f('handshake_handler: invalid HTTP status response code')
|
||||
ws.log.fatal('handshake_handler: invalid HTTP status response code')
|
||||
}
|
||||
for i in 1 .. lines.len {
|
||||
if lines[i].len <= 0 || lines[i] == '\r\n' {
|
||||
@@ -44,13 +45,13 @@ fn (mut ws Client) handshake_handler(handshake_response, seckey string) {
|
||||
ws.flags << .has_connection
|
||||
}
|
||||
'Sec-WebSocket-Accept', 'sec-websocket-accept' {
|
||||
l.d('comparing hashes')
|
||||
l.d('seckey: ${seckey}')
|
||||
ws.log.debug('comparing hashes')
|
||||
ws.log.debug('seckey: $seckey')
|
||||
challenge := create_key_challenge_response(seckey)
|
||||
l.d('challenge: ${challenge}')
|
||||
l.d('response: ${keys[1]}')
|
||||
ws.log.debug('challenge: $challenge')
|
||||
ws.log.debug('response: ${keys[1]}')
|
||||
if keys[1].trim_space() != challenge {
|
||||
l.e('handshake_handler: Sec-WebSocket-Accept header does not match computed sha1/base64 response.')
|
||||
ws.log.error('handshake_handler: Sec-WebSocket-Accept header does not match computed sha1/base64 response.')
|
||||
}
|
||||
ws.flags << .has_accept
|
||||
unsafe {
|
||||
@@ -65,9 +66,9 @@ fn (mut ws Client) handshake_handler(handshake_response, seckey string) {
|
||||
}
|
||||
if ws.flags.len < 3 {
|
||||
ws.close(1002, 'invalid websocket HTTP headers')
|
||||
l.e('invalid websocket HTTP headers')
|
||||
ws.log.error('invalid websocket HTTP headers')
|
||||
}
|
||||
l.i('handshake successful!')
|
||||
ws.log.info('handshake successful!')
|
||||
unsafe {
|
||||
handshake_response.free()
|
||||
lines.free()
|
||||
|
||||
Reference in New Issue
Block a user