Skip to content

Conversation

zvlasic
Copy link

@zvlasic zvlasic commented Nov 21, 2022

No description provided.

polvalente and others added 30 commits July 16, 2022 20:43
* fix: use setup-beam GH action

* fix: pull action from erlef
* Add support for `request_id` in `GRPC.Server.Stream`

* Apply suggestions from code review

* chore: format

* test: add tests

* chore: format

* chore: revert

* fix: revert some more

Co-authored-by: Paulo Valente <[email protected]>
* chore: update deps

* chore: format

* chore: format

* chore: remove --warnings-as-errors from test

* chore: update elixir and erlang

* chore: format

* chore: import config instead of use mix.config

* chore: remove container in favor of setup-beam

* fix: use gun 2 rc2

* chore: drop support for older OTP

Co-Authored-By: David Bernheisel <[email protected]>

* docs: update readme

* fix: set max concurrency to lower number

* import changes from elixir-grpc#202

* chore: add otp 25 to matrix

* chore: exclude some combos

* chore: also exclude 1.12

* fix: tls validation

* chore: format

Co-authored-by: David Bernheisel <[email protected]>
Use `module` instead of `atom` since the function accept module.

Co-authored-by: Paulo Valente <[email protected]>
* fix: accept more combos of log level

* fix: config

* fix: force elixir 1.10.4

* chore: deprecate elixir 1.10
* Provide a mechanism to inject a custom status handler

* Fix formatting

* Fix typo

* Allow status handler to be injected by configuration

Co-authored-by: Paulo Valente <[email protected]>
* fix: add @impl to logger interceptor callback

* refactor: make fetch opts in logger interceptor consistency

* Use `[]` to get level from `opts` in `init/1`.
* Use `Keyword.fetch!/2` to ensure `opts` always has `:level`.

* Update lib/grpc/logger/client.ex

* Update lib/grpc/logger/server.ex

Co-authored-by: Paulo Valente <[email protected]>
* apply mix format according to standard formatter

* include some specs about type on status

* Update lib/grpc/status.ex

Co-authored-by: Paulo Valente <[email protected]>
* chore: make protobuf optional

* fix: make protobuf a test-only dep

* chore: format
* Create server and client behaviours

* Share types with the types of the behaviours

* Add behaviours definition on test adapters

* Add disconnect to behaviour definition

* Split client and server domains

* Replace all Keyword.get(a, b, c) with Keyword.get(a, b) || c

* avoid proxy types

* Add some documentation

* Complete missing func implementations in test client adapter

* Add parenthesis on every type definition

* Replace specs with impl true on adapters implemetations

* Update lib/grpc/client/adapter.ex

* Update lib/grpc/client/adapter.ex

* Update lib/grpc/client/adapter.ex

Co-authored-by: Ricardo Antolin <[email protected]>
Co-authored-by: Paulo Valente <[email protected]>
* Running interop test with latest OTP/Elixir version when Pull Request
  is opened.
* When merge to master branch, the CI will running interop tests for all
  OTP/Elixir version.

Closes elixir-grpc#223

Co-authored-by: Paulo Valente <[email protected]>
Remove cron_ci.yml since we already run interop_tests every commit that
merge to master branch. And remove .ci since it's no uses. In Makefile,
remove cron-ci task since it's no use also.
* Revise children in HelloworldApp to use a new way of
  declaring supervisor.
* Generate proto code with elixir-protobuf 0.10.
* Change supervisor declaration in tree.
* Cleanup dependencies.
* Use jason instead of poison.
* Auto start server.
* Move route_guide.proto to priv/protos.
* feat: improve ci and add dialyzer

* fix: mix_env=test for dialyzer

* fix: ci

* fix: dialyzeR

* chore: run fewer rounds for interop

* fix: scope plt cache by otp/elixir version

* fix: fallback key
* chore: bump to 0.5.0

* fix: deps declaration
* Allow to use iolists in GRPC.Message.to_data/2

* docs: document options for function

* fix: dialyzer

Co-authored-by: Bartosz Szafran <[email protected]>
Co-authored-by: Paulo Valente <[email protected]>
* chore: resolve some doc warnings

* chore: format

* fix: supervisor call

* fix: follow docs for supervisor

* chore: remove un-needed opts

* chore: remove inch as a dependency

* chore: reduce log level in interop test

* fix: define state in adapter instead

* chore: suppress stdout from deps step

* chore: local.hex and local.rebar

* Update lib/grpc/server/supervisor.ex

* fix: missing paren

* fix: deal with truthy instead of boolean

* refactor: lazy eval

* test: add test for opts logic
* fix: avoid overriding user config if possible

* feat: make transport option replacement work

* fix: || %{}

* fix: override correctly

* docs: improve credential docs
* refactor: server and client opts

* docs: add some variable names

* chore: move coalesce to caller

* chore: make typespect more strict

* docs: add variable names

* fix: test

* fix: dialyzer

* fix: keyword v map issues
* support grpc-web-text

* enable web-text codec as default

* only try to pack encoded data if codec is available

* Fix! prepare decode before turning body -> message

* include web-text in codec test

* use bin concat operator for extracting content subtype

Co-authored-by: Paulo Valente <[email protected]>

* rename `pack_encoded` `prepare_decode` and make them optional

* add unpack_from_channel / pack_for_channel docs

* rephrase codec docs

Co-authored-by: Paulo Valente <[email protected]>

* Apply suggestions from code review

Co-authored-by: Paulo Valente <[email protected]>

* set correct content-type for web codecs when using the client

* add codec tests

* use return_headers option on stub to assert server headers are set correctly

* fetch codec from opts

* run format

* pack_for_channel/1 handles iodata

* use Code.ensure_loaded/1 for elixir 1.11 compat

* Update lib/grpc/codec/web_text.ex

* Update lib/grpc/codec/web_text.ex

Co-authored-by: Paulo Valente <[email protected]>
angelo-moreira and others added 9 commits August 5, 2022 19:41
* we need google_protos otherwise the Timestamp module is not defined

* .iex.exs files are personal they shouldn't be checked in to the repo

* example of how to implement Timestamp protobuf

* return nanos in the timestamp

* Update examples/helloworld/mix.exs

* Update examples/helloworld/.gitignore

* formatting generated proto file

* better time calculations based on `system_time`

Co-authored-by: Paulo Valente <[email protected]>
* helloworld example test

* Update examples/helloworld/test/hello_world_test.exs

Co-authored-by: Paulo Valente <[email protected]>
…ity (elixir-grpc#267)

* remove gun specific code from stub to improve adapter flexilibity

* remove maybe_return_headers in gun adapter for clairty

* refactor parse_response from gun adapter to improve readability

* refactor read_stream from gun adapter to improve readability

* remove unecessary response parse from inside with condition

* chore: format

* chore: apply suggestion from review

Co-authored-by: Paulo Valente <[email protected]>
…lixir-grpc#266)

* Replace tuple style supervisor child_spec with map one on cowboy adapter

* docs: explain decisions

Co-authored-by: Paulo Valente <[email protected]>
* update README.md

* use the new markdown syntax support

* chore: apply suggestion

Co-authored-by: Paulo Valente <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.