* add GrpcSample, GrpcClient; update DaprClient
* disable TLS for grpc server
* implement deposit and withdraw method for grpcsample
* implement event handler for deposit and withdraw
* edit readme for grpcsample
* improve readme
* fix @amanbha requested changes
* fix or improve readme @vinayada1 reviewed
* use parameter in DaprClient to switch invocation of routing or grpcsample service
* add separate editorconfig file into samples directory
* add license header into grpcsample
* fix TypeConverters to use internal access modifier; remove useless code; fix Console to logger; fix typo; fix using statement location
* throw a exception when account is not found for BankingService Withdraw invocation
* remove TypeConverters dependence
* use config for rpc-exception argument
* fix comment of @vinayada1
* updated documentation for parameters usage
* fix additional comments from @vinayada1
* Update Readme.md
* fix DaprClient's compile error
Co-authored-by: Yongguang Zhu <Yongguang.Zhu@microsoft.com>
Co-authored-by: vinayada1 <28875764+vinayada1@users.noreply.github.com>
Co-authored-by: Ryan Nowak <nowakra@gmail.com>
* 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: #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>
* 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
* 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
* 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>
* 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>
* Including state Store name in the APIs to support multi state store scenario in SDK
* correcting the typo in the comment.
* Respective Changes to the tests
* Changes in StateAttribute and Binder classes to support state store name
* Changes in StateEntryModelBinderTests
* StoreName changes in the Integration test app
* fixing build issues
* Fixing integration tests
* Addressing review comments.
* Addressing review comments
* Updating samples to use correct state store name as generated by dapr cli.
Co-authored-by: Aman Bhardwaj <amanbha@users.noreply.github.com>
Fixes: #192
We were missing tests for the case where the HttpClient has a
BaseAddress set. In these case we'd generate an incorrect URL.
Co-authored-by: Aman Bhardwaj <amanbha@users.noreply.github.com>
* Add InvokeClient and InvokeHttpClient dapr #184
* Add tests for InvokeHttpClient dapr#184
* Update namespace of InvokeHttpClient dapr#184
* Add DI of InvokeHttpClient dapr#184
* Resolve code format issues dapr#184
* Remove InvokeEnvelope and add params to InvokeMethod dapr#184
* Update method signature to use generic types for Request/Response dapr#184
* Update parameter in data null check dapr#184