Ben Toogood
2729569f66
Add Debug.Cache method
2020-05-24 18:45:57 +01:00
Ben Toogood
496293afa1
Use hash/fnv, add tests, fix request bug
2020-05-23 11:34:44 +01:00
Ben Toogood
7d7f4046e8
Client Cache
2020-05-22 16:52:24 +01:00
Jake Sanders
9216a47724
fix client race ( #1647 )
2020-05-19 14:44:46 +01:00
Maarten Bezemer
3d36398818
Fix client RPC stream close mutex ( #1643 )
2020-05-18 17:22:33 +01:00
Ben Toogood
efb64b7dbb
Pass client to more of the runtime
2020-05-11 17:57:39 +01:00
Asim Aslam
2a14feed93
force codec on call not on dial ( #1599 )
2020-05-01 14:59:50 +01:00
Ben Toogood
99f8be5b3d
Auth Client Wrapper
2020-04-29 15:11:06 +01:00
9bb1904a38
broker: add publish context ( #1590 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-28 19:29:00 +03:00
06220ab8c8
client: add context publish option ( #1588 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-28 19:03:37 +03:00
Asim Aslam
d7ecb58f6c
Add network proxying ( #1556 )
...
* Add network proxying
* go fmt
2020-04-21 15:54:40 +01:00
Ben Toogood
2dfaab439c
Set authorization header on grpc stream
2020-04-16 15:01:16 +01:00
268651df18
regenerate all proto based files ( #1531 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-14 16:25:09 +03:00
1063b954de
dont display t.Log/t.Logf as errors in github actions ( #1508 )
...
* fix tests and github action annotations
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-09 14:05:46 +03:00
1fbc056dd4
minimize allocations ( #1472 )
...
* server: minimize allocations on re-register
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server: stop old instance before Init()
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* client/grpc: fix allocations in protobuf marshal
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* codec/json: fix allocations in protobuf marshal
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* remove stop from init
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* codec/grpc: expose MaxMessageSize
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* codec: use buffer pool
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* metadata: minimize reallocations
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* util/wrapper: use metadata helper
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* registry/cache: move logs to debug level
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server: move logs to debug level
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server: cache service only when Advertise is ip addr
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server: use metadata.Copy
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-08 10:50:19 +01:00
Ben Toogood
f7655b71ea
Merge branch 'auth-interface-update' of https://github.com/micro/go-micro into auth-interface-update
2020-04-01 14:25:07 +01:00
Ben Toogood
8e4d9e1702
Further Refactoring
2020-04-01 14:25:00 +01:00
Asim Aslam
68b0238a5d
add stream timeout option which defaults to 0 ( #1456 )
...
* add stream timeout option which defaults to 0
* fix option
2020-03-31 23:22:11 +01:00
Ben Toogood
36386354d7
Fallback to service token
2020-03-31 13:51:32 +01:00
Ben Toogood
bd70820b6b
ServicePrivileges => ServiceToken
2020-03-31 13:48:28 +01:00
Ben Toogood
956029ae3d
Fixes for CLI login
2020-03-31 13:30:14 +01:00
Ben Toogood
e0c7f48d20
WithServicePrivileges => ServicePrivileges
2020-03-31 12:57:38 +01:00
Ben Toogood
d659e435c6
Service => Service Auth
2020-03-31 12:44:34 +01:00
9e6db79860
regenerate all proto ( #1440 )
...
* regenerate all proto
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* regenerate from proto
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* regenerate from proto
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-30 21:58:32 +01:00
Socket
8282e781e4
grpc pool should check state ( #1435 )
...
Co-authored-by: huangshaojie <huangshaojie@corp.netease.com>
2020-03-28 08:48:25 +00:00
ben-toogood
1057ef6acb
Add ContextWithToken ( #1407 )
...
* Add ContextWithToken
* Tidying up BearerScheme
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-25 11:20:53 +00:00
d559587807
client/grpc: remove json-iterator usage ( #1387 )
...
* minimize external deps and binary size
* if user wants json-iterator codec it must be used in server and
client code. so best to use it via go-plugins
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-21 09:40:58 +00:00
ab73127063
grpc client/server fixes ( #1355 )
...
* grpc client/server fixes
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-17 14:27:20 +03:00
ac333d9d47
client/grpc: unwrap error after call ( #1352 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-16 13:33:38 +03:00
ben-toogood
d91c14eb30
grpc client error fix ( #1351 )
...
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-16 12:53:15 +03:00
ben-toogood
48b2a5c37c
Fix Auth Headers ( #1324 )
...
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-10 16:47:01 +00:00
Asim Aslam
ed83c27f0e
add websocket streaming to api rpc handler ( #1326 )
2020-03-10 15:21:43 +00:00
ben-toogood
962567ef42
Implement config singleton ( #1268 )
...
* Implement config singleton
* Pass token in grpc request headers
* Refactor BearerScheme
* Fix typo
2020-02-28 12:58:27 +00:00
64a5ce9607
various fixes ( #1267 )
...
* logger: remove Panic log level
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: add missing Unlock in Subscribe error
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server: minor code change
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: extend test suite with pub/sub testing
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: fix invalid check and allow subscriber error to be returned
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: add pubsub tests
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* client/grpc: check for nil req/rsp
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-26 18:34:40 +00:00
Asim Aslam
6aaaf54275
add MICRO_AUTH_TOKEN, parse token in wrapper, preload config and othe… ( #1261 )
...
* add MICRO_AUTH_TOKEN, parse token in wrapper, preload config and other things
* fix wrapper panic
2020-02-25 22:15:44 +00:00
ben-toogood
ffdf986aac
Refactor auth: add token and store implementations ( #1230 )
...
* Refactor auth: add token and memory implementations
* Fix typo
* Remove memory auth (implemented already by the store implementation), revert default to noop
* Add grpc header
* Global Config
* config/global => util/config
* Rename package to remove confict
* Tweak
* Improve Error Handling
2020-02-24 15:07:27 +00:00
5b0175c2e5
allocations improvements and tunnel fixes ( #1248 )
...
* reduce allocations in tunnel code
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* another allocation fix
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* allocate maps with len if it known
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* allocate key for send once
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-24 14:15:20 +00:00
Asim Aslam
f4118dc357
secure the grpc client ( #1215 )
...
* secure the grpc client
* make compile
* Add system cert pool
* Revert manually adding ca certs
* Tweak comment
Co-authored-by: ben-toogood <bentoogood@gmail.com>
2020-02-19 08:44:35 +00:00
58598d0fe0
fixes for safe conversation and avoid panics ( #1213 )
...
* fixes for safe convertation
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix client publish panic
If broker connect returns error we dont check it status and use
it later to publish message, mostly this is unexpected because
broker connection failed and we cant use it.
Also proposed solution have benefit - we flag connection status
only when we have succeseful broker connection
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* api/handler/broker: fix possible broker publish panic
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-18 23:05:38 +00:00
6248f05f74
add missing option to client.NewMessage ( #1212 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-18 14:18:59 +03:00
ben-toogood
1e40c86dfe
Ignore gRPC Proxy ( #1205 )
2020-02-17 08:14:45 +00:00
Asim Aslam
b3fc8be24e
normalise proxy name ( #1203 )
2020-02-15 21:57:30 +00:00
Asim Aslam
c691d116ab
when the stream errors cleanup the connection ( #1199 )
2020-02-15 11:35:08 +00:00
Asim Aslam
d9b3b17582
set dial timeout in stream
2020-02-13 18:51:32 +00:00
6dc942bc19
client/grpc: fix panic on invalid message ( #1191 )
...
* client/grpc: fix panic on invalid message
* travis: disable lint and race for now
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-13 14:57:21 +03:00
99807a680c
strip Micro-Topic header from incoming context in client.Call ( #1177 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-07 22:09:52 +00:00
7105e4099c
pass micro errors from grpc server to grpc client ( #1167 )
...
* pass micro errors from grpc server to grpc client
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* wrap micro errors.Error to grpc status
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-06 10:18:33 +00:00
a44dc90d45
fix ctx.Done issue #720 ( #1166 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-05 21:13:14 +00:00
tpam28
449bcb46fe
New backoff ( #1153 )
...
* new backoff function
* use backoff from util/backoff
* remove reset atemts
* change comment
* fmt
2020-02-02 20:32:55 +00:00
Evgeniy
87753ad289
format results in TestBacloff
2020-01-30 20:08:03 +03:00
Evgeniy
ffb9da0230
fix test and description
2020-01-30 19:43:03 +03:00
Evgeniy
f6fcfcb8fc
exponentialBackoff was changed from power function to exponential function
2020-01-30 17:25:07 +03:00
f23638c036
fix import paths for v2 release
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-01-30 14:44:40 +03:00
Asim Aslam
2b1844971c
go fmt
2020-01-24 21:31:57 +00:00
Asim Aslam
9df19e826e
cancel stream
2020-01-19 22:53:56 +00:00
Asim Aslam
54fb61bba4
Move proto to service/
2020-01-19 17:31:24 +00:00
Asim Aslam
fac75866d9
Move pool to util
2020-01-19 17:30:49 +00:00
Asim Aslam
a47ff65529
remove mock client
2020-01-19 17:24:22 +00:00
Asim Aslam
0a37767127
Fix service registration with registry service
2020-01-18 19:53:51 +00:00
Maarten Bezemer
50b20413d3
RPC stream client/server mutex fix ( #884 )
...
* Unlock RPC client while actually receiving a message
As receiving a message might block for a long time, unblocking the client allows to let it send messages in the meanwhile without using 'tricks'
* Unlock RPC server while actually receiving a message
As receiving a message might block for a long time, unblocking the client allows to let it send messages in the meanwhile without using 'tricks'
* Protect Close() against race conditions
* Concurrency and Sequence tests
2020-01-12 09:13:14 +00:00
Asim Aslam
37d1139a57
ensure we close the grpc stream ( #1098 )
...
* ensure we close the grpc stream
* use g.Close
* use closed bool flag for checking connection close
2020-01-09 17:00:14 +00:00
Asim Aslam
0b8ff3a8bb
fix grpc json streaming by setting content sub type ( #1089 )
2020-01-07 18:37:34 +00:00
Asim Aslam
45c986c5f1
don't marshal frame values
2019-12-31 21:36:22 +00:00
Asim Aslam
c145f355dd
Moving to gRPC by default ( #1069 )
...
* Step 1
* Fix the test panics
2019-12-29 21:07:55 +00:00
jamsonzan
22aa7d14b3
support streams pool for grpc ( #1062 )
...
* Update grpc_pool.go
* Update options.go
* Update grpc.go
* Update grpc_pool_test.go
* streams pool for grpc
* use busy list to speed up allocate while pool is very busy
* fix idle bug
2019-12-27 12:25:58 +00:00
Asim Aslam
d5951f1d7c
Merge pull request #1042 from ZGeomantic/feat-client-mock
...
support ctx as input params, error as output for MockClient.Call
2019-12-15 15:12:17 +00:00
jamsonzan
572fe58314
comment
2019-12-15 15:05:19 +08:00
gemantic
5602b93d7a
support ctx as input params, error as output for MockClient.Call
2019-12-14 10:36:12 +08:00
Asim Aslam
d50f30d743
strip handlers
2019-12-10 11:46:13 +00:00
Asim Aslam
c445aed6b1
Cleanup and speedup network convergence along with direct messaging for connect and solicit
2019-12-07 19:54:29 +00:00
Milos Gajdos
5865e89bed
Fixing dead code and go vet moaning
2019-12-05 16:10:49 +00:00
a1eaf9cc20
linting fixes
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-12-04 00:22:02 +03:00
Astone
29fb58db39
improve code quality
2019-12-03 20:59:02 +08:00
90f9b0d0c9
initialize client options context if not provided
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-12-03 01:35:59 +03:00
Asim Aslam
00bbb3ac61
revert some protocol changes for now
2019-11-30 21:20:33 +00:00
Asim Aslam
8b63df7a98
regenerate the protos
2019-11-26 13:53:33 +00:00
Asim Aslam
db03a564fb
Merge pull request #980 from unistack-org/issue-940
...
grpc client goroutine leak fix
2019-11-25 19:10:34 +00:00
9763820c75
grpc client goroutine leak fix
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-11-25 22:02:24 +03:00
Asim Aslam
080363e8c4
The mega cruft proxy PR ( #974 )
...
* the mega cruft proxy PR
* Rename broker id
* add protocol=grpc
* fix compilation breaks
* Add the tunnel broker to the network
* fix broker id
* continue to be backwards compatible in the protocol
2019-11-25 16:31:43 +00:00
Erik Hollensbe
4107733453
Memory registry from #801 with additional tweaks ( #951 )
...
* PoC: memory registry using maps instead of slice madness
* Updated proto and handlers. Fixed tests across codebase.
* Implemented ttl pruning for memory registry
* Added extensive memory registry tests
* Squased a bunch of bugs
* Proto indent; memory.Registry.String() returns "memory"
* Write a test to prove memory registry TTLs are busted
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
* Additional memory testing and fixups:
* DefaultTTL removed
* When TTL == 0, it is automatically removed from expiry conditions
* Additional improvements to new tests
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
2019-11-16 10:55:11 +00:00
Till Knuesting
f67c5e779f
preallocated slices ( #917 )
2019-11-05 17:43:12 +00:00
tegk
f88518d994
used gofmt with -s flag on whole project
2019-11-01 15:07:53 +00:00
Milos Gajdos
1ff65e140a
Change router.Route metric to int64. Set the route metric properly
2019-10-23 16:51:22 +01:00
Asim Aslam
b55018eaa1
Merge pull request #833 from orbli/patch-1
...
Add dialoptions and calloptions
2019-10-10 07:40:48 +01:00
orb li
77108771db
Conceptual deliverable
2019-10-10 13:55:16 +08:00
Asim Aslam
fe94237448
Update router querying method ( #834 )
...
* Add address to router query options. Drop Query interface for QueryOptions
* Cleanup isMatch function
* Update network proto
2019-10-09 17:13:52 +01:00
orb li
226d55d752
Adding dependency
2019-10-09 16:48:45 +08:00
orb li
88ef785127
Add dialoptions and calloptions
2019-10-09 15:56:39 +08:00
Asim Aslam
afa1f50435
Revert to creating new connections for stream
2019-09-25 15:21:21 +01:00
Asim Aslam
52d9d75dfa
use with stream for client connection
2019-08-31 18:26:48 +01:00
Asim Aslam
0888d2fbbc
Add grpc content-type
2019-08-27 08:13:58 +01:00
Asim Aslam
353eade6c3
Update client proto
2019-08-23 12:06:11 +01:00
Asim Aslam
c44fd63301
Force grpc client/server to use grpc codec for broker
2019-08-18 11:28:21 +01:00
Asim Aslam
4495ca3839
Use client.Call for non streaming requests
2019-08-16 17:24:17 +01:00
Asim Aslam
0b0eee41d0
functioning proxy code
2019-08-16 16:46:29 +01:00
Asim Aslam
58bc4c103f
go fmt
2019-08-15 20:54:09 +01:00
Asim Aslam
ef04331b86
multiplexing cruft
2019-08-15 20:08:49 +01:00
Asim Aslam
f6b8045dd5
send client error if it exists
2019-08-15 15:22:53 +01:00
johnson
de34f259ba
update service not found error tooltip
...
fixing test failed issue
change back error type
change registry.ErrNotFound back to selector.ErrNotFound
change back error type
change registry.ErrNotFound back to selector.ErrNotFound
remove the single node tunnel test
Fix read yaml config from memory
package main
import (
"fmt"
"github.com/micro/go-micro/config"
"github.com/micro/go-micro/config/source/memory"
)
var configData = []byte(`
---
a: 1234
`)
func main() {
memorySource := memory.NewSource(
memory.WithYAML(configData),
)
// Create new config
conf := config.NewConfig()
// Load file source
conf.Load(memorySource)
fmt.Println(string(conf.Bytes()))
}
2019-08-11 19:31:22 +08:00
Asim Aslam
4030ccc27b
Move proxy/router
2019-08-05 17:44:33 +01:00