Alexandru Macocian
b677395998
- set ReadTimeout to high value only when messages appear to be long
2020-04-12 11:16:25 +02:00
Alexandru Macocian
4f16349933
Adds an option to configure ReadTimeout for socket operations
2020-04-11 16:05:54 +02:00
Alexandru Macocian
514bf44b2e
bug fixes
2020-04-11 15:56:18 +02:00
Alexandru Macocian
71cc470569
- server now reads continiously instead of polling
...
- server increases reading delay when client is inactive
- new procedure to check if the client is connected or not
- ftphandler sets affinity to connected client
2020-04-10 21:44:40 +02:00
Alexandru Macocian
e5ccfff5da
- stop redundant parsing of HttpRequests for HttpRoutingHandler
...
- introduced handler affinity to let handlers claim a client and prevent other handlers from receiving messages from the client
- Httproutinghandler will route based on headers without loading the entire message
2020-04-09 18:48:36 +02:00
Alexandru Macocian
a1672079c2
Make HttpHandler and HttpRoutingHandler take ownership of fragmented messages, and discard messages that don't broadcast the entire headers first
2020-04-08 16:15:41 +02:00
Alexandru Macocian
4e09c18787
Added SafeNetworkStream to client
2020-04-08 15:10:22 +02:00
Alexandru Macocian
e47790b97f
- Fixed issues with not knowing size of message when reading from SSL stream
...
- Implemented a SafeNetworkStream that protects from SSL stream overreading, and stores information regarding the actual number of bytes to be read.
- E2E test covering large uploading
2020-04-08 14:47:54 +02:00
Alexandru Macocian
71950ce372
added https certificate for e2e tests
2020-04-08 14:41:25 +02:00
Alexandru Macocian
0582a82d6c
- Fixed messages being handled non-sequentially during parallel processing of the clients
...
- Made unit tests use SSL encryption
- Added netcore3.1 to build list
2020-04-06 22:45:34 +02:00
Alexandru Macocian
0f26f7c6e0
Base implementation for FtpHandler
2020-04-05 16:25:10 +02:00
Alexandru Macocian
72060f15dd
Started working on FTP modules
2020-04-05 13:58:14 +02:00
Alexandru Macocian
64f1453061
Built threadsafe collection for running asynchronous operations on clients
...
Fixed enqueuing and dequeuing of messages
Made http routes asynchronous to support long running operations without delays
2020-03-28 13:39:41 +01:00
Alexandru Macocian
6f50734748
Some logic to build request from form data
2020-03-24 11:05:14 +01:00
Alexandru Macocian
59b91ce92a
Implemented form data handling for multipart form-data for text and files
2020-03-23 21:38:42 +01:00
Alexandru Macocian
990bba3586
Tried another fix for concurrent client handling
2020-03-22 15:23:59 +01:00
Alexandru Macocian
c035d2a3e2
fixed race condition to client initialization
2020-03-21 12:41:29 +01:00
Alexandru Macocian
6a867d46d4
Introduced schedulers and blocking queues for messages to provide more options on how to handle clients
2020-03-21 02:04:08 +01:00
Alexandru Macocian
230a1e086e
Add a way to get all handlers and loggers on runtime
2020-03-20 18:56:11 +01:00
Alexandru Macocian
a76b81610d
Added a tick override to websocket route modules
2020-03-11 22:56:44 +01:00
Alexandru Macocian
fc36acc494
Added SendingTemplate to HttpResponse
...
Implemented WebsocketRouteBase
2020-03-11 22:36:13 +01:00
Alexandru Macocian
97e0cf9f4e
Ssl authentication timeout option
2020-03-10 12:24:08 +01:00
Alexandru Macocian
247f1b27e7
Renamed namespace for easier access
...
Added tests for stopping the server properly
2020-03-06 11:07:47 +01:00
Alexandru Macocian
12606c4942
Added resources to server
2020-03-04 11:39:26 +01:00
amacocian
925e1ec3c2
Fixed E2E tests to run with server.runasync
2020-02-26 14:15:19 +01:00
amacocian
aa63e598f2
Implemented http request templates to provide model directly to http module handlers
2020-02-24 15:53:15 +01:00
amacocian
6aab10c6f2
Added HttpRequest unit tests
...
Modified HttpRequest parser to skip the first '/' from URI
2020-02-21 13:45:54 +01:00
amacocian
7317121a5d
- added duration to discard messages when they were sitting for too long in buffer uncompleted
...
- added size limit for handling http messages
2020-02-20 16:55:00 +01:00
Alexandru Macocian
e7da3d7f29
Server now handles exceptions during message receiving individually per handler
2020-02-19 19:58:45 +01:00
Alexandru Macocian
261fc440a4
Changed manual buffering to memorystream in HttpResponse parsing
2020-02-19 19:47:47 +01:00
Alexandru Macocian
a88f347083
Fixed critical bug in how HttpHandler would repackage fragmented messages
...
Fixed small bug in parsing of HttpResponse from bytes
Added E2E test for fragmented http messages
2020-02-19 19:36:11 +01:00
amacocian
280947c283
Added E2E test with query in URL
2020-02-19 14:38:49 +01:00
Alexandru Macocian
2c8f1e3493
Implemented http message parsing for split messages
2020-02-17 20:07:48 +01:00
amacocian
e40352e6e8
Started work on resilient HttpHandler that repackages broken requests
2020-02-17 19:15:10 +01:00
amacocian
83a58b8db3
Fixed E2E tests
2020-02-14 12:13:18 +01:00
amacocian
75780ee636
- updated to 1.4
2020-02-14 12:10:57 +01:00
amacocian
cdc994afab
- expose certificate validation and encryption policies for https
2020-02-14 11:55:28 +01:00
amacocian
95af301ab7
- Changed name from HttpRoutingModule to HttpRoute
...
- Changed AddModule to AddRoute
- Removed usage of RoutingEnablers to instead use Func
2020-01-22 14:12:06 +01:00
amacocian
6b9308731f
- Implemented HttpRoutingHandler to implement handlers with routes
...
- Small QOL changes in HttpMessage, HttpRequest and HttpResponse classes
2020-01-21 13:54:15 +01:00
amacocian
a790df4226
Implemented HTTP stress test
2019-11-30 18:46:01 +01:00
amacocian
577c17d9ec
Added an extra unit test for websockets.
2019-11-18 14:21:58 +01:00
amacocian
7850f6e4c2
Created unit test project for MTSC
2019-11-11 13:07:10 +01:00