* Rename and cleanup of HTTPExtension
Fixes: #421
This change renames `HTTPExtension`->`HttpInvocationOptions`. This is more
idiomatic in .NET and reflects existing naming conventions (options or
settings for parameters).
Also changes to use the `System.Net.Http.HttpMethod` type for the http
method, and globally prefer the term `method` over `verb`. Every .NET
API that I'm aware of uses 'method', as does rfc7231.
* One more rename
* Handle cancelled cancellation token
* add UTs
* add secrets UT
* fix review comments
* invoke and await in one call
* fix await
* Add test for multiple calls to UseActors (#459)
Fixes: #411
The bug was actually addressed in PR #453 - this change adds a test that
verifies that we actually fixed it.
Co-authored-by: vinayada1 <28875764+vinayada1@users.noreply.github.com>
* use grpcChannelOptions ThrowOperationCanceledOnCancellation
* Add doc
* add link to doc
Co-authored-by: Ryan Nowak <nowakra@gmail.com>
Fixes: #411
The bug was actually addressed in PR #453 - this change adds a test that
verifies that we actually fixed it.
Co-authored-by: vinayada1 <28875764+vinayada1@users.noreply.github.com>
Fixes: #444
ActorId doesn't define a default constructor, and so it's not
deserializable via System.Text.Json.
This change implements a converter so that ActorId's API shape can work
with the serializer properly.
I added an integration test for ActorReference as well, but no library
changes we needed for that, ActorId was the blocker.
Fixes: #446
`async void` is almost always a bug in server-side programming. If these
tests were doing any networking then they would encounter concurrency
bugs or crash in the event of an exception.
Co-authored-by: vinayada1 <28875764+vinayada1@users.noreply.github.com>
Contributes to: #416
This change removes a mutable static instance - this is low-hanging
fruit design improvement and helps us make these features more flexible
in the future.
Removes generation of documentation files for samples and tests. This is
a vestige from using the older Stylecop tool in this repo, which needs
the doc files to inspect.
The deleterious effect of this is getting warnings about missing
documentation on samples, and forcing contributors and maintainers to
write nonsense comments to workaround the warning.
Also removed references to stylecop, since we no longer use it.
* Prepping for multi pubsub
* Add pubsub name, some cleanup
* multi pubsub changes
Co-authored-by: Aman Bhardwaj <amanbha@microsoft.com>
Co-authored-by: LM <lemai>
* Add bulk get to client
* change params, return type, class to struct
* change IList to IReadOnlyList, make parallelism nullable
* change GetBulkItem to BulkStateItem
* Use protobuf packaging for the Any type
This pull request implements two converters which help with the type conversion between arbitrary types and the protobuf `Any` type. The C# protobuf library provides a mechanism to pack or unpack protobuf messages to `Any`. It provides the methods `Any.Pack` and `Any.Unpack` to serialize/deserialize messages based on `Google.Protobuf.IMessage`. For types that are not based on `Google.Protobuf.IMessage`, the existing JSON serialization/deserialization will be used.
I've also cleaned the existing codebase a little bit.
Fixes#268
* Fix suggested changes
* Remove secret store extension from building
* Remove code
Co-authored-by: LM <lemai>
Co-authored-by: Aman Bhardwaj <amanbha@users.noreply.github.com>
* Include the appcallback.proto into the Dapr.Client package
To implement service invocation for a gRPC API, a user must implement the AppCallback service on the callee site. Currently this must be done by integrating the `appcallpack.proto` file as also the depending `common.proto` file into the gRPC service application. The `Dapr.Client` package contains already the same `common.proto` file to generate the client classes. This results in a CS0433 error, because the `Dapr.Client` package and the generated AppCallback service will contain a `Dapr.Client.Autogen.Grpc.v1` namespace with the exact same classes.
This pull requests integrates the `appcallpack.proto` into the client package. With this fix the user does not need to integrate the proto files by itself.
See: https://gitter.im/Dapr/community?at=5f14b7e98a9a0a08cbab5d53
* Remove specific names
* #312 - make changes corresponding to change in dapr runtime. The runtime will no longer send an activate message. The SDK should 'activate' an actor anytime it receives an actor method call
* spaces
* remove comment'
Co-authored-by: LM <lemai>
* Returning routes for pubsub from aspnetcore integration.
* adding ref to System.IO.Pipelines
* updating tests
* not using RawText, using segments in route.
* fixing tests
* Logging a warning for routes with parameters
* Using ILoggerFactory
* Move to new invoke proto, specify contenttype in response to the dapr/config message, clarify sample
* Update for additional proto changes
* cr
Co-authored-by: LM <lemai>
* 219 Support the granular Actor config such as actor idle time
* cleanup
* cr
* cr
* refactor
* remove now dead code
* Move setter into properties
Co-authored-by: LM <lemai>
* adding IDAprClient interface
* Adding DaprClientBuilder and adding methods for Publish
* updating the method name for publish
* Adding unit tests for publishevent api
* Removing individual clients for publish
* Renaming base class to DaprClient and implementation calss to DparClientGrpc
* Moving State api to grpc and adding helpers to unittest grpc calls.
* More DaprClient logic
* metadata, etag, options, etc are optional
* Revert "metadata, etag, options, etc are optional"
This reverts commit ea5dc12c5d.
* Default params, 2 new Try- methods, overload refactor for InvokeMethodAsync
* Move some classes/enums to different files. Documentation
* Code refactor and changing tests to use grpc
* Adding tests with state options
* Adding test for getting etag and state
* More refactoring and adding INvokeBinding test
* Fixing tests and tidying up things.
* Updating solutions for renamed project
* Updating projects for rename.
* Oneclient secret (#245)
* ADding Secret Apis
* Using Task for secret
* Format (#242)
* Updating samples.slm
* awaint the call to grpc in common method so that common error handling can be done there.
* Addressing review comments
* fixing test.sln
* updating prod.sln
* Addressing review comments from James.
* Add doc and example for method invocation on http app
* Updating arg validation.
* Updating example.
Co-authored-by: LM <lemai>
Co-authored-by: Carlos Mendible <cmendible@gmail.com>
* Getting started with Actor testability
* Added unitests against the Actor Class.
This is to verify that there are no breaking changes, and that the actor class can take any ActorStateManager.
* removed the private constructor
* resolving an issue with causing a null reference exception.
This was caused by an incorrect order of assignment in the constructor.