Commit Graph

42 Commits

Author SHA1 Message Date
Mark van Renswoude 4ce318b560 #43 Move binding related attributes to Tapeti Core 2023-04-14 15:47:50 +02:00
Mark van Renswoude 6b38d59468 Fixed #39: Stateless Request-Response does not filter target controller method
Added NoBinding attribute
2023-04-13 08:39:43 +02:00
Mark van Renswoude 97672f4321 Implemented nullable reference types support 2022-11-23 09:13:38 +01:00
Mark van Renswoude bcdb376256 Fixed queue arguments error due to wrong value types
Added test for publish overflows
Removed support for Unity Container
Changed third party package references to ranges
Fixed XML documentation
2022-11-22 13:20:47 +01:00
Mark van Renswoude 178f0a4956 Implemented unit tests for QueueArguments attribute
Added proof-of-concept test for TapetiClient using Testcontainers.NET
Updated packages
2022-11-21 16:59:09 +01:00
Mark van Renswoude 7143ad3c2f Implemented QueueArgumentsAttribute (untested) 2022-11-17 16:47:07 +01:00
Mark van Renswoude 3aee6f1c53 Fixed #38 Durable queues are verified more than once
Caused by non thread-safe code when applying bindings. Replaced Task.WhenAll with a simple loop, as the performance benefits are negligable and it's only at startup anyways.
Also changed binding methods to use ValueTask.
2022-02-09 12:42:05 +01:00
Mark van Renswoude 165680fd38 Added ValueTask support
- This is a breaking change for custom middleware implementations
Added validation for return type handling
- This may be breaking for incorrect implementations, but highly unlikely
2022-02-09 11:27:07 +01:00
Mark van Renswoude b816e56018 Code style cleanup 2022-02-09 09:50:25 +01:00
Mark van Renswoude 56a842ea5c Implemented #37 Support injection of CancellationToken in message handlers 2021-10-29 15:47:48 +02:00
Mark van Renswoude a9a38f2497 Fixed Flow response messages blocking the consumer
Caused by non-async disposable payload in MessageContext never being disposed
2021-09-16 12:26:11 +02:00
Mark van Renswoude 66a0ec116b Fixed a few code hints 2021-09-05 10:05:04 +02:00
Mark van Renswoude be576a2409 Implemented #31: Include message details in exception logging (optionally)
Refactored IControllerMessageContext into context payloads to get access to it in the exception handler
2021-09-02 16:16:44 +02:00
Mark van Renswoude 5a90c1e0a5 Added support for consuming incompatible durable queues without breaking 2021-09-02 13:58:01 +02:00
Mark van Renswoude e25fa5aa52 Implemented IAsyncDisposable 2021-06-02 20:56:10 +02:00
Mark van Renswoude 1be1b599a0 Updated all references NuGet packages to latest stable version
Fixed ReSharper code issues
2021-05-29 21:52:07 +02:00
Mark van Renswoude e5882b7b7a Fixed controller middleware interfaces not inheriting from base 2020-07-02 11:43:24 +02:00
Frederik 13833040e8 Possible fix for #21 - Same request/response twice in flow does not continue? 2020-06-11 16:36:55 +02:00
Mark van Renswoude 145850c3c2 Provide a way to disable queue verification
- Backwards compatibility with incompatible queue definitions
2020-03-17 15:21:39 +01:00
Mark van Renswoude 2745d18779 Implemented stateless request-response support 2020-02-12 11:34:51 +01:00
Mark van Renswoude 2e2a77a7ae Possible fix for #18 Two consumers from same connection after reconnect
- Consume calls still in the TapetiClient task queue while it is reconnecting would not be cancelled, but new calls were added as well after the reconnect
- Unrelated but useful: added LocalPort and Disconnect event to logging
2019-10-10 16:03:47 +02:00
Mark van Renswoude bef3961f7f Added support for the Obsolete attribute to remove bindings and queues with backwards compatibility
Updated license in nuspec to comply with the new specifications
2019-08-20 11:47:53 +02:00
Mark van Renswoude c63b821b87 Fixed #11: Do not persist flow for dynamic queues 2019-08-19 09:33:07 +02:00
Mark van Renswoude c83ca889b7 [ci skip] Fixed wrong port being used for management API
Fixed exchange not being created for bindings and publishing
Added documentation for DataAnnotations package
2019-08-15 15:55:45 +02:00
Mark van Renswoude d211d33108 [ci skip] Fixed ReSharper code issues (ironically, in JetBrains.Annotations as well) 2019-08-15 11:32:39 +02:00
Mark van Renswoude 314a67db00 [ci skip] Bit of refactoring and bugfixing, mostly documentation 2019-08-14 20:48:40 +02:00
Mark van Renswoude 6c32665c8a [ci skip] Refactored how consume result is handled
Reimplemented the exception strategy and logging
Much XML documentation, such wow
2019-08-14 12:20:53 +02:00
Mark van Renswoude f8fca5879c [ci skip] Major refactoring for 2.0
- Compiles, but that's about it. Plenty of ToDo's left before it will run. Beware, ye who enter here.
- Cleanup of the internals, with the aim to keep the interface to application code compatible
- Added the ability to declare durable queues on startup and update the bindings
- Possibly fixed an issue with publish timeouts being logged after a reconnect
2019-08-13 20:30:04 +02:00
Menno van Lavieren 6bc6cfe216 MAX-911 RDB Relaties samenvoegen vanuit LEF en update ontvangen in LEF
MAX-1081 POC Dictionary tasks in Web voor request
Setup voor Transient request response met TODO's
2019-04-24 18:04:30 +02:00
Mark van Renswoude 5b3be481e1 Fixed #6: Use 'mandatory' on replies (review)
Fixed #13: Exception for dynamic queues after reconnect
2019-02-14 15:08:04 +01:00
Mark van Renswoude 60c7020a2c Fixed #6: Use 'mandatory' on replies 2019-02-14 15:08:04 +01:00
Mark van Renswoude 74985e45de Fixed all ReSharper issues
Some are silly, like the "member not used" for public interfaces. The comments everywhere are ugly, sorry, but it keeps the possibly important issues visible without a dependency on some ReSharper annotations package.
2018-12-19 20:50:56 +01:00
Menno van Lavieren ee86e2c739 RDB-136 Flow tabel wordt niet meer opgeruimd Bij een exceptie in Flow
Refactoring om de actie van de Exceptionstrategie door te geven aan de cleanup stack
2017-10-17 13:29:16 +02:00
Menno van Lavieren 625c80e8f7 RDB-136 Flow tabel wordt niet meer opgeruimd Bij een exceptie in Flow
Mogelijkheid voor het registreren van Cleanup middleware in Tapeti
2017-10-13 13:07:41 +02:00
Menno van Lavieren cf53a1e6b1 Bug fix ReplyTo werkte niet op static queues 2017-07-21 14:14:19 +02:00
Menno van Lavieren 06654b099a Allow Message middleware to septup a nested context and call 'next' multiple times 2017-07-07 10:59:12 +02:00
Mark van Renswoude 20ac467006 Fixed #6: Provide a way to start a flow outside of a message handler
Fixed Continuation methods binding to dynamic queues
2017-02-15 22:05:01 +01:00
Mark van Renswoude e881ed94c1 Fixed #5: Implement message validation 2017-02-12 21:43:30 +01:00
Mark van Renswoude 6b2a562d62 Fixed #9: Allow subscribing to queues before consuming 2017-02-12 15:18:12 +01:00
Mark van Renswoude 6779f3a4d0 Added AppSettings ConnectionParams helper
Changed BindingFilters to MessageFilterMiddleware (in preparation for SignalR interaction package)
Start of SqlConnectionFlowRepository
2017-02-08 15:52:24 +01:00
Mark van Renswoude 1f41f6bcc0 Renamed IMiddlewareBundle to ITapetiExtension 2017-02-07 18:22:28 +01:00
Mark van Renswoude 66fbcf2427 Moved Tapeti project to it's own folder 2017-02-07 16:22:04 +01:00