lib/core: remove ropes intrude import in stream
[nit.git] / lib / websocket / websocket.nit
index 441df14..f4ee1b0 100644 (file)
@@ -22,8 +22,8 @@ import socket
 import sha1
 import base64
 
-intrude import standard::stream
-intrude import standard::bytes
+intrude import core::stream
+intrude import core::bytes
 
 # Websocket compatible listener
 #
@@ -66,7 +66,7 @@ class WebsocketConnection
        super TCPStream
 
        init do
-               _buffer = new NativeString(1024)
+               _buffer = new CString(1024)
                _buffer_pos = 0
                _buffer_capacity = 1024
                _buffer_length = 0
@@ -114,7 +114,7 @@ class WebsocketConnection
                resp_map["Connection:"] = "Upgrade"
                var key = heads["Sec-WebSocket-Key"]
                key += "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
-               key = key.sha1.encode_base64
+               key = key.sha1.encode_base64.to_s
                resp_map["Sec-WebSocket-Accept:"] = key
                var resp = resp_map.join("\r\n", " ")
                resp += "\r\n\r\n"
@@ -163,7 +163,7 @@ class WebsocketConnection
                while not fin do
                        var fst_byte = client.read_byte
                        var snd_byte = client.read_byte
-                       if fst_byte == null or snd_byte == null then
+                       if fst_byte < 0 or snd_byte < 0 then
                                last_error = new IOError("Error: bad frame")
                                client.close
                                return
@@ -181,9 +181,9 @@ class WebsocketConnection
                        #       %x9 denotes a ping
                        #       %xA denotes a pong
                        #       %xB-F are reserved for further control frames
-                       var fin_flag = fst_byte & 0b1000_0000u8
+                       var fin_flag = fst_byte & 0b1000_0000
                        if fin_flag != 0 then fin = true
-                       var opcode = fst_byte & 0b0000_1111u8
+                       var opcode = fst_byte & 0b0000_1111
                        if opcode == 9 then
                                bf.add(138u8)
                                bf.add(0u8)
@@ -199,8 +199,8 @@ class WebsocketConnection
                        # |(mask - 1bit)|(payload length - 7 bits)
                        # As specified, if the payload length is 126 or 127
                        # The next 16 or 64 bits contain an extended payload length
-                       var mask_flag = snd_byte & 0b1000_0000u8
-                       var len = (snd_byte & 0b0111_1111u8).to_i
+                       var mask_flag = snd_byte & 0b1000_0000
+                       var len = snd_byte & 0b0111_1111
                        var payload_ext_len = 0
                        if len == 126 then
                                var tmp = client.read_bytes(2)
@@ -236,9 +236,9 @@ class WebsocketConnection
        end
 
        # Unmasks a message sent by a client
-       private fun unmask_message(key: NativeString, message: NativeString, len: Int): NativeString
+       private fun unmask_message(key: CString, message: CString, len: Int): CString
        do
-               var return_message = new NativeString(len)
+               var return_message = new CString(len)
 
                for i in [0 .. len[ do
                        return_message[i] = message[i] ^ key[i % 4]