Commit Graph

122 Commits

Author SHA1 Message Date
Andrey Fadeev
b6bb676b3b
MG-128 Add convertors between deadline and unixtime (#68) 2018-07-03 14:53:00 +03:00
Anton Belyaev
06ef3d63c0
HG-364: add get_routes/1 api to http handler (#67) 2018-04-24 16:18:43 +03:00
Petr Kozorezov
d9362a5f81
add additional routes to woody server (#66) 2018-04-10 15:16:33 +03:00
Anton Belyaev
74fb666e87
MSPF-313: introduce deadlines (#62)
* introduce woody deadline
* refactor cowboy handler init checks order
  1. start with basic http checks
  2. proceed with woody related stuff
2018-01-30 12:50:18 +03:00
Anton Belyaev
ad1e91050c MSPF-281: add event meta formatting interface and introduce woody_state (#61)
* add event meta formatting
* introduce woody_state
* freshen up the build image
* add  tag for internal error on cowboy unhealthy termination
2017-10-20 14:34:01 +03:00
Anton Belyaev
2d00bda104 MSPF-258: explicitly handle more posix errors in http client (#60) 2017-06-09 17:01:44 +03:00
Anton Belyaev
62e6e19f4a MSPF-232-235: fixes after M pen testing (#56)
* MSPF-232: optionally configure max_heap_size limit for server handler.
* MSPF-233: check vm total memory against configurable threshold before
            starting to handle request on the server.

* MSPF-234: improve introspection for result_unexpected errors on the client.
* MSPF-234: send thrift decode error details from server to client
* MSPF-234: pass stacktrace for result_unexpected error from server to client as error details
* MSPF-235: use input Id as a span_id, instead of trace_id in woody_context:new_rpc_id/1.
            trace_id is used across the entire requst tree and is rather safer
            as woody snowflake id.

* fix a bug in server net_opts handling
* fix event formatting types
2017-05-18 17:17:37 +04:00
Anton Belyaev
992c279466 MSPF-224: fix error format in case of TApplicationException exception from server in 200 (#55) 2017-04-28 17:26:42 +03:00
Artem Ocheredko
8f1f42e209 Fix getting context meta by key when there is no meta (#54) 2017-03-31 20:18:04 +04:00
Andrew Mayorov
2f264f97c6 HG-155: Bump to rbkmoney/thrift@240bbc8 (#53) 2017-03-20 18:20:03 +03:00
Anton Belyaev
d6f0de5a35 MG-64: correct woody_client:child_spec name (#52) 2017-03-04 14:37:17 +04:00
Dmitry Manik
7650c1f9f1 Fix flowed child_spec abstraction (#48)
* MG-64: Add find_pool function

* MG-64: Refactor options

* MG-64: Fix linter and dialyzer errors

* MG-64: Fix tests

* MG-64: Add review fixes

Remove unnecessary functionality
Rename pool_name -> name option
Define child_spec as woody_client_behaviour

* MG-64: Add review fixes 2
2017-03-03 17:34:41 +03:00
Anton Belyaev
66884b7020 MSPF-200: bump up erlang to 19.1 and fix some bugs along the way (#50)
* bump up erlang to 19.1
* fix Issue https://github.com/rbkmoney/woody_erlang/issues/44
* fix Issue https://github.com/rbkmoney/woody_erlang/issues/41
* fix some other bugs
2017-02-22 15:45:51 +03:00
Dmitry Manik
29cab89b7c MG-73: Fix spec typo (#49) 2017-02-21 18:00:00 +03:00
Anton Belyaev
b5ae9ae3ab MG-69: Refix connect_timeout and use hackney:skip_body/1 (#47) 2017-02-15 19:53:13 +03:00
Anton Belyaev
905d087c7b MG-63: read the body in case of error to free the connection; add con… (#46) 2017-02-15 15:53:55 +03:00
Dmitry Manik
75c4b97608 Add an opportunity to obtain pool child spec (#45)
* Add an opportunity to obtain pool child spec

* Rework options passing while creating pools

* Add some info about child_spec usage
2017-02-09 19:56:09 +03:00
Anton Belyaev
17bd521843 HG-152: handle econnrefused and econnreset properly (#42) 2017-02-02 16:48:17 +04:00
Anton Belyaev
249fa01d13 MSPF-108: fix handler example in README (#40) 2016-12-29 19:12:06 +03:00
Anton Belyaev
e1782b323b Update README.md (#39) 2016-12-19 15:04:16 +03:00
Anton Belyaev
ac84da3d5b MSPF-108: transient errors implementation (#38)
* align rpc id handling with new requirements
* add new interface woody.erl, mv woody_t -> woody
* bump up thrift for the latest thrift_membuffer_transport
* remove woody:call_safe/3, woody_client:call_safe/3 from client API
* add cowboy net_opts to Server API
* Introduce event formatter to woody_event_handler
* Refactor events
* Remove outdated exception from the elvis rules
* Update woody_server_thrift_handler internal API
* make Opts optional for handlers
* add default event handler
* bump up hackney
* update README
* fix issues: 12, 18, 20, 21, 25, 26, 31, 37
2016-12-19 14:11:05 +03:00
Anton Belyaev
ebf5b86e99 MSPF-18: new woody context (#36)
* MSPF-18: introduce woody_context
* MSPF-18: use Jenkins cache for dialyze; bump up build utils (add colors to wc_%), build-image
* MSPF-18: add bugfix for [Issue 20]
* MSPF-18: add bugfix for [Issue 27]
* MSPF-18: add bugfix for [Issue 29]
* MSPF-18: add bugfix for [Issue 34]
* MSPF-18: update README
2016-11-18 16:49:05 +03:00
Anton Belyaev
2157a34651 HG-64: pass any transport opts to underlying hackney. (#32)
HG-64: fix several issues
* pass any transport opts to underlying hackney.
* remove TC for allowed options
* fix Issue https://github.com/rbkmoney/woody_erlang/issues/19
* bump up build_image
* bump up build_utils
2016-10-18 16:41:45 +03:00
Anton Belyaev
49f47a8b3d MSPF-61: switch to build utils and refactor (#17)
* start using build_utils
* simplify woody_client:result_ok() type (issue 10)
* use integer snowflake id
* rename woody_client_thrift:format_return/3 (issue 11)
* provide details to event_handler for http errors (issue 15)
* clarify net_opts() for woody_server_thrift_http_handler:options() type
* switch snoflake to rbkmoney fork
* update readme
* introduce lint and fix lint warnings
* add woody_client:make_id_int/0 API function
2016-08-26 19:15:48 +04:00
Andrew Mayorov
78b3f7767c MG-15: Bump thrift runtime dep (#16) 2016-08-24 14:59:04 +00:00
Petr Kozorezov
cccf733393 MG-16: fix handler_opts type (#14) 2016-08-11 15:24:12 +04:00
Anton Belyaev
db30966138 MG-16: fix handler spec validation (#9)
* MG-16: fix handler spec validation

* MG-16: add a test
2016-08-04 13:25:49 +04:00
Andrew Mayorov
cd7779e615 HG-40: Bump thrift dep to include latest bugfix (#7) 2016-07-29 09:25:48 +00:00
Anton Belyaev
dbe03ca171 Merge pull request #5 from rbkmoney/ft/MSPF-46/CI-adaption
MSPF-46: enable Jenkins 2.0 CI
2016-07-12 21:17:09 +04:00
Anton Belyaev
5398a6ee47 MSPF-46: enable Jenkins 2.0 CI 2016-07-12 20:06:35 +03:00
Andrew Mayorov
302e829154 HG-40: Fix interoperability with respect to scoped record names (#6)
* HG-40: Fix interoperability with respect to scoped record names

* HG-40: Provide build container with the newest thrift compiler
2016-07-06 17:02:08 +03:00
Anton Belyaev
c80d54c774 Merge pull request #4 from arentrue/MSPF-31/ft/thrift-exceptions-pass-thrugh
MSPF-31/ft/thrift exceptions pass through
2016-05-25 17:27:58 +04:00
Anton Belyaev
5ca1cde242 MSPF-31: thirift idiomatic is prohibited 2016-05-25 15:59:01 +03:00
Anton Belyaev
f39ae8776c MSPF-31: generate thrift erlang files via thrift_compiler plugin 2016-05-24 16:08:39 +03:00
Anton Belyaev
04e41d92aa MSPF-31: pass through defined thrift results and exceptions for hierarchical Rpc requests 2016-05-21 21:08:16 +03:00
Anton Belyaev
2c232d2f37 MSPF-31: update thrift_handler behaviour
* remove useless handle_error/4
* handle_function/4 should include woody_client:context() in all return cases
2016-05-20 23:07:43 +03:00
Anton Belyaev
132efd80d9 MSPF-31: add woody_client:make_id/1; new thrift_erlang; minor refactoring 2016-05-20 18:55:02 +03:00
Anton Belyaev
bf74d46150 Merge pull request #3 from arentrue/ft/MSPF-15
Ft/mspf 15
2016-05-10 14:21:41 +04:00
Anton Belyaev
25e9996a71 Update thrift dep 2016-05-06 20:45:11 +03:00
Anton Belyaev
85c894ead9 Refactor woody_event_handler. Update README
* Make rpc_id (triple: span_id, parent_id and trace_id) a separate argument for handle_event/3.
* Sync README with refactored API in woody_event_handler, woody_server_thrift_handler and woody_client.
2016-05-05 17:22:55 +03:00
Anton Belyaev
7bebc67294 Refactor woody_clinet, woody_server_thrift_handler behaviour
* woody_clinet:client -> context
* woody_client:new -> new_context
* woody_server_thrift_handler behaviour: RpcId is not available as handle_function/handle_error argument anymore.
  It should be fetched from the provided Context value: woody_client:get_rpc_id(Context).
2016-05-05 14:31:33 +03:00
Anton Belyaev
18bdfa10eb Fix a bug with additional 204 http response. Add debug option for the app. 2016-05-05 14:31:33 +03:00
Anton Belyaev
3f97597a79 Remove unnecessary wrapper supervisor for woody_server 2016-05-05 14:31:33 +03:00
Anton Belyaev
f9b81a4742 Update erlang thrift 2016-05-05 14:31:33 +03:00
Anton Belyaev
97b194c043 Merge pull request #2 from arentrue/fix/http-error-codes
Fix http error codes
2016-04-25 17:40:04 +04:00
Anton Belyaev
82b8947a9c Fix woody_server_thrift_handler:agrs() type; improve README 2016-04-22 20:34:51 +03:00
Anton Belyaev
7ddf28f6ad Fix http error codes 2016-04-22 15:05:04 +03:00
Anton Belyaev
161f4100fd Update: RPC lib requirements page moved 2016-04-21 19:22:22 +03:00
Anton Belyaev
5f8350ebc3 Merge pull request #1 from rbkmoney/ft/MSPF-1
Ft/mspf 1
2016-04-21 16:28:57 +04:00
Anton Belyaev
7cbc74e35e Prefer natural sort order for req_id 2016-04-21 15:26:01 +03:00