amacocian and GitHub
439b3f160d
Separate startup from initialization ( #23 )
...
Procedures to be run on initialization
Fix concurrency issues with listeners
2022-10-07 10:39:37 +00:00
amacocian and GitHub
c21c6e2a11
Integrate ServiceCollection from Microsoft.Extensions.DependencyInjection ( #21 )
2022-10-07 11:07:20 +02:00
amacocian and GitHub
1b438c8bd4
Introduce async extensions for RouteFilters ( #16 )
...
Rework filter logic to reuse filter objects on the scope of a request
2022-05-04 08:22:32 +02:00
amacocian and GitHub
035fecc1e3
Pass ScopedServiceManager to RouteContext ( #15 )
2022-05-02 14:23:56 +02:00
amacocian and GitHub
9ff5114d31
Improvements to HttpRouteBase ( #10 )
...
Implement reusable responses
2022-01-23 12:02:31 +01:00
amacocian and GitHub
9d7a4ff75c
Introduce cancellation tokens for HttpRoutes ( #7 )
...
Return 404 on NotFound
RouteFilters now can handle exceptions
2022-01-18 14:31:59 +01:00
amacocian and GitHub
35a45a395f
Background services implementation ( #6 )
2022-01-17 15:51:28 +01:00
amacocian and GitHub
9bab9f2585
Introduce HttpRequestContext ( #5 )
2022-01-14 12:40:22 +02:00
amacocian
0392441b5a
Upgrade test project to .net 6
2022-01-02 17:21:29 +02:00
amacocian
f8cc21e7db
Introduce cancellation tokens for server
...
Update pipelines to .net6
Deprecate netcoreapp2.1 build
2022-01-02 17:14:01 +02:00
amacocian
a13174558b
Unit tests for TcpSocketListener
2021-12-27 17:44:09 +02:00
Alexandru Macocian
969c0b3410
Introduce route filters for HttpRoutingModules
2021-10-19 13:42:48 +02:00
Alexandru Macocian
13681f8c1e
Improve httproutinghandler error handling
2021-10-09 21:14:10 +02:00
Alexandru Macocian
8eb0fe06c0
Setup for multiple listener types
2021-10-01 17:25:32 +02:00
Alexandru Macocian
032edb81d6
Integrate Microsoft.Logging.Abstractions
2021-10-01 14:56:38 +02:00
Alexandru Macocian
867fa12a6c
Support for interpolated URLs
...
Implemented use of TypeConverters for requests and responses
2021-09-29 00:41:36 +02:00
Alexandru Macocian
848a56859f
Disable all related server tests for CI
2021-06-02 15:28:07 +02:00
Alexandru Macocian
dfe85bca09
Disable problematic tests
2021-06-02 15:17:53 +02:00
Alexandru Macocian
d44deb3124
Change UTs target framework to .net5.0
2021-06-02 14:33:04 +02:00
Alexandru Macocian
b015132527
Configurable return 500 on exception in http handlers.
...
Configurable websocket hearbeat.
Nit fixes.
2021-05-12 14:08:25 +02:00
Alexandru Macocian
619992da80
Switched server resources to Slim.ServiceManager.
...
Changed HttpRoutingHandler to use the general Slim.ServiceManager.
Changed WebsocketRoutingHandler to a similar approach as HttpRoutingHandler.
Implemented IRunOnStartup interface for handlers.
2021-03-12 14:05:55 +01:00
Alexandru Macocian
50669ad289
Major rework of HttpRoutes.
...
Implemented DI based routes.
Implemented converters for HttpRequest and HttpResponse.
Fixed e2e tests.
2021-03-09 15:19:54 +01:00
Alexandru Macocian
748785014a
Improved value retrieval from http request form.
...
Nit fixes.
Scheduler that fires separate threads for each request.
Removed https from e2e tests.
2021-03-01 20:59:16 +01:00
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