Commit Graph

  • e7c84eddf8
    refactor: semantic and idiomatic renames, fixes API changes master Adrien Marquès 2021-06-16 00:04:09 +0200
  • 9e69b66289
    fix: use fmt.Errorf() %w verb for error wrapping Adrien Marquès 2021-06-15 22:13:36 +0200
  • d092eaed01
    refactor: normalise internal/uri v0.1.1 Adrien Marquès 2021-05-14 17:23:33 +0200
  • 6c47dbc38f
    refactor: http/upgrade normalise files Adrien Marquès 2021-05-14 17:19:02 +0200
  • db52cfd28f refactor: move to go modules and lint v0.1.0 Adrien Marquès 2021-05-14 16:47:02 +0200
  • 7fb4241187 go fmt/vet v0.0.1 Adrien Marquès 2018-09-29 14:39:12 +0200
  • a9986c3123 update structure according to proper go project Adrien Marquès 2018-09-29 14:36:47 +0200
  • 53de261a43 add possible PONG receive during fragmented messages + add tests for 'Message.check(bool) err' xdrm-brackets 2018-05-08 17:21:49 +0200
  • 927b83556f direct close on 'ErrUnexpectedContinuation' + only check TEXT utf8 when final frame ft.message.check.1 xdrm-brackets 2018-05-08 12:10:24 +0200
  • fc9f174434 add RSV bytes error if set + add function 'readBytes(io.Reader, []bytes)' to read until the expected size is met while there is no error (for octet-wise chops) xdrm-brackets 2018-05-08 11:52:34 +0200
  • fff5d068d1 manage normal close in response to close frame xdrm-brackets 2018-05-08 11:31:37 +0200
  • ca3b83abee add message check as 'function -> method' xdrm-brackets 2018-05-08 11:15:01 +0200
  • 1891bdff1d fix send length + add test for simple/extended-16/extended-64 length xdrm-brackets 2018-05-07 19:25:54 +0200
  • 6759c489cc add FRAGMENTATION + refactored error management (not perfect but works) xdrm-brackets 2018-05-07 16:35:40 +0200
  • b7cd292577 add tests for mask read size xdrm-brackets 2018-05-06 14:47:34 +0200
  • 613620998a add test to check read size xdrm-brackets 2018-05-06 14:45:44 +0200
  • 26864aab55 manage invalid read size + minmod xdrm-brackets 2018-05-06 14:45:38 +0200
  • 75f568a1ec manage invalid Close codes + close() now can work without sending the CLOSE frame (if status=NONE) xdrm-brackets 2018-05-06 01:37:02 +0200
  • f07afb8c85 manage invalid error code (size=1) and too long reason (size>125) xdrm-brackets 2018-05-06 01:06:17 +0200
  • ec1722a804 handle panic() xdrm-brackets 2018-05-06 01:05:52 +0200
  • 86dba9aa0b chunk message writer xdrm-brackets 2018-05-06 01:05:38 +0200
  • 361684f634 add simple tests for Send() xdrm-brackets 2018-05-06 00:28:02 +0200
  • 98ce1dddbe fix Send(): FINAL + TYPE were hard-coded xdrm-brackets 2018-05-06 00:27:45 +0200
  • 7fa43b2c00 [message] added 'UnmaskedFrameErr' managed on [client] + removed unused lib + add tests for ReadMessage simple cases xdrm-brackets 2018-05-06 00:18:01 +0200
  • dadd3cd479 make Send() generic with 'io.Writer' xdrm-brackets 2018-05-05 23:53:38 +0200
  • 89124221fb minmod xdrm-brackets 2018-05-05 23:53:06 +0200
  • 14205a0b2e fix message length xdrm-brackets 2018-05-05 23:53:00 +0200
  • d03e08b466 opti xdrm-brackets 2018-05-05 18:47:38 +0200
  • dfeba31404 no more channels with message pointers, only Messages (controller can close a client by closing the 'send' channel) + fixed channel closing (so as goroutines) when ending connections xdrm-brackets 2018-05-05 18:43:16 +0200
  • 4f85752052 close sending channel (no more memory error, sending goroutine killed) -> TODO: manage already closed channels xdrm-brackets 2018-05-05 17:43:49 +0200
  • 858d409834 made it more generic (io.Reader, simple Write, etc) ft.buffer.optimization.1 xdrm-brackets 2018-05-05 17:39:39 +0200
  • 009f34e436 fix Store of Client that can be anything, not empty struct xdrm-brackets 2018-05-05 17:39:10 +0200
  • 0891ebbe8e removed useless xdrm-brackets 2018-05-05 17:38:55 +0200
  • 52067c7640 close() closes channels to free goroutines reader/writer are no more methods -> functions added reference to server.unregister some more stuff xdrm-brackets 2018-05-05 17:38:07 +0200
  • e56ff09fc8 add Host tests xdrm-brackets 2018-05-04 08:53:15 +0200
  • dc510ad5d9 refactor upgrade.request + merge 'upgrade.reqline' + began tests xdrm-brackets 2018-05-04 08:41:40 +0200
  • b713011e7b comment non-bloquing read xdrm-brackets 2018-05-04 07:34:58 +0200
  • ab351de382 non-blocking reads (+ added peek-er to check connection every 10us) xdrm-brackets 2018-05-03 21:10:02 +0200
  • 52673ba7e5 removed 'upgrader' interface xdrm-brackets 2018-05-03 19:50:30 +0200
  • a31269118f BIG UPDATE; brand new code structure (1 public package) + read by chunks if needed xdrm-brackets 2018-05-03 19:31:09 +0200
  • 2d51ba1863 typed message type + added CONTINUATION xdrm-brackets 2018-05-03 14:54:02 +0200
  • 378534153c removed unused xdrm-brackets 2018-05-03 14:50:36 +0200
  • 09b3cc8921 add close case (payload size = 0) xdrm-brackets 2018-05-02 23:47:00 +0200
  • 0ed39dec0e remove debug + clean main xdrm-brackets 2018-05-02 22:56:38 +0200
  • a887bcd0b9 removed debug xdrm-brackets 2018-05-02 22:43:05 +0200
  • 5837c1cdb9 Merge branch 'master' of gogs:xdrm-brackets/gws xdrm-brackets 2018-05-02 22:39:14 +0200
  • e9b66b87b7 BIGFIX (fuck it) xdrm-brackets 2018-05-02 22:36:59 +0200
  • 4e0b13a031 BIGFIX (fuck it) xdrm-brackets 2018-05-02 22:36:59 +0200
  • 9abf760e37 BIGUPDATE: new execution structure + package structure (debug to remove later) + Write does not work... yet xdrm-brackets 2018-05-02 22:24:50 +0200
  • 4ec4dfd1d5 big update ! to fix xdrm-brackets 2018-05-01 22:14:35 +0200
  • e89166a3bf update + opcode management (SOME THINGS TO FIX...) xdrm-brackets 2018-04-30 15:35:30 +0200
  • 1df592cb81 fix condition error xdrm-brackets 2018-04-28 18:08:36 +0200
  • 2d220fc34b added 'asyncWriter()' behavior + frame interface TODO xdrm-brackets 2018-04-28 17:56:37 +0200
  • c3121df33f updated structure (break ws.* apart) + channel management xdrm-brackets 2018-04-28 17:51:05 +0200
  • 15d9d24ce4 Renamed types (explicit) + moved channels into client (not controller) xdrm-brackets 2018-04-28 17:50:14 +0200
  • 3c5d45ee21 add Upgrade Response status code check to begin/abort websocket client xdrm-brackets 2018-04-28 16:23:42 +0200
  • 5fcdc9ca70 do not return Sec-WebSocket-Accept in response if upgrade error (not read yet from Request) + StatusCode getter xdrm-brackets 2018-04-28 16:23:07 +0200
  • db2b24ae51 updated controller implementation (use channels) xdrm-brackets 2018-04-28 16:06:46 +0200
  • a3f72a9bf7 added 'chan *Frame' and channel principle to build the Controller implementation on xdrm-brackets 2018-04-28 16:04:05 +0200
  • dcfdb3411a websocket frame parsing works + controller dispatch but have to be improved xdrm-brackets 2018-04-27 12:16:34 +0200
  • b1d0a71dd5 add chunk reader for websocket xdrm-brackets 2018-04-27 08:48:19 +0200
  • 2bb8b81a21 update sample main xdrm-brackets 2018-04-26 23:40:53 +0200
  • 3be3b5e156 add dispatch(net.Conn, *upgrader.T) to dispatch client into controller xdrm-brackets 2018-04-26 23:39:43 +0200
  • 844bdf14c6 add controller into client xdrm-brackets 2018-04-26 23:39:20 +0200
  • 756bbca0b1 updated GetMatch(uint) + add GetAllMatch() xdrm-brackets 2018-04-26 23:39:10 +0200
  • 427d7d06c8 added server Launch() routine using s.dispatch() xdrm-brackets 2018-04-26 23:38:50 +0200
  • 8432c81e07 proper Server attributes initialisation xdrm-brackets 2018-04-26 23:27:12 +0200
  • 25216db125 added Client set into Server xdrm-brackets 2018-04-26 23:26:51 +0200
  • 9fcd36d13d added visibility for upgrade Request/Response xdrm-brackets 2018-04-26 23:26:39 +0200
  • 741a243f87 added upgrade.Request and Response getters for websocket routing (URI + protocol) xdrm-brackets 2018-04-26 23:26:20 +0200
  • d16a0830d0 add Frame data (Opcode, etc) xdrm-brackets 2018-04-26 23:02:22 +0200
  • bf58fc49e5 added sockets to ws.Client and ws.Server xdrm-brackets 2018-04-26 23:02:10 +0200
  • 5e4341e3d9 upgrader interface returns a wrapper for the upgrade Request + Response for further information gathering while passing to WS protocol xdrm-brackets 2018-04-26 23:01:25 +0200
  • 1c06b81cae added default ws.frame types xdrm-brackets 2018-04-26 22:54:43 +0200
  • d603145f5f created [ws.*] to create a server, bind a default controller, or bind URI-bound controllers + launch() *TODO* + created websocket types xdrm-brackets 2018-04-26 22:54:17 +0200
  • c6112c9c74 Match() uses 'matchString()' and 'matchWildcards()' and now works as expected xdrm-brackets 2018-04-26 22:15:09 +0200
  • d6a9411bb1 Match() partially works (have to check for optional parameters) + GetMatch() works as well xdrm-brackets 2018-04-26 15:01:18 +0200
  • 63b5125e6c added [internal.uri.parser] for better real-time URI parsing xdrm-brackets 2018-04-26 13:03:44 +0200
  • 5f88fede99 minmod + rename statusCode.'Explicit()' to 'Message()' xdrm-brackets 2018-04-26 11:05:08 +0200
  • c4863e396b added http.reader maximum buffer check xdrm-brackets 2018-04-26 10:24:00 +0200
  • 7db4d2ee1f added [internal.ws.frame] types (draft) xdrm-brackets 2018-04-25 22:24:27 +0200
  • 6e3c4a77c4 added frame layout in draft xdrm-brackets 2018-04-25 21:56:58 +0200
  • a85e16e96a moved http.* into /internal | created upgrader interface in /upgrader xdrm-brackets 2018-04-25 21:51:53 +0200
  • 6c8afe8720 implemented key -> accept + working upgrade xdrm-brackets 2018-04-25 18:58:48 +0200
  • df8c9bc61c added 101 - Switching Protocols on success xdrm-brackets 2018-04-25 18:11:13 +0200
  • d743448fce added request status code (defined in response) for creation from request to response xdrm-brackets 2018-04-25 18:09:26 +0200
  • 08b73e87ad remove debug xdrm-brackets 2018-04-25 17:53:53 +0200
  • 4468aa69b6 remove debug xdrm-brackets 2018-04-25 17:28:08 +0200
  • 5649c49837 added 'String()' to check upgrade request xdrm-brackets 2018-04-25 17:22:27 +0200
  • 4df664a138 added completion variables to track with asynchronous reading (chunk reader) xdrm-brackets 2018-04-25 17:21:56 +0200
  • 4994d34bc7 added 'isComplete' to check request completion xdrm-brackets 2018-04-25 17:21:21 +0200
  • b3194f53cb minmod xdrm-brackets 2018-04-25 17:01:57 +0200
  • 0e20c4cba6 removed checks/extracts xdrm-brackets 2018-04-25 17:01:51 +0200
  • 3159ffe3eb moved header checks/extracts into single file + added 'checkOriginPolicy' (Host/Origin headers can be read in any order) + added key check+extraction xdrm-brackets 2018-04-25 17:01:39 +0200
  • 2edafff0f5 created alias for [][]byte (HeaderValue) for better readability xdrm-brackets 2018-04-25 17:00:51 +0200
  • fcdcb42b62 Upgrade + Connection headers check xdrm-brackets 2018-04-25 16:40:43 +0200
  • 4bcfd9c6ab extractHostPort() from the 'Host' header xdrm-brackets 2018-04-25 16:25:58 +0200
  • 0792cfaa06 added String() xdrm-brackets 2018-04-25 16:25:41 +0200
  • 2e90ff9cae [gwstester] clean xdrm-brackets 2018-04-25 16:06:14 +0200
  • be8bfa012e [internal.http.reader] auto-correcting (no error raised) xdrm-brackets 2018-04-25 15:55:32 +0200