90dd1f63c8
api/handler/rpc: fix encoding of inner message ( #1601 )
...
* api/handler/rpc: fix encoding of inner message
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-05-04 15:50:53 +03:00
d44adafca5
api/router: avoid unneeded loops and fix path match ( #1594 )
...
* api/router: avoid unneeded loops and fix path match
* if match found in google api path syntax, not try pcre loop
* if path is not ending via $ sign, append it to pcre to avoid matching other strings like
/api/account/register can be matched to /api/account
* api: add tests and validations
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-29 15:23:10 +03:00
6fa27373ed
bundle qson lib in util ( #1561 )
...
* copy qson from https://github.com/joncalhoun/qson
as author not want to maintain repo
* latest code contains our fix to proper decode strings
with escaped & symbol
* replace package in api/handler/rpc
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-23 11:08:09 +03:00
Asim Aslam
226d6ad22b
log whats happening in http handler
2020-04-19 00:41:03 +01:00
f00fd7a49e
api/router: support pcre and google.api pattern matching ( #1549 )
...
* api/router: support pcre and google.api pattern matching
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-19 00:31:34 +03:00
62cedf64da
api/router/registry: extract path based parameters from url to req ( #1530 )
...
* api/router/registry: extract path based parameters from url to req
* api/handler/rpc: fix empty body request parsing
* bundle grpc-gateway util funcs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-15 17:50:51 +03:00
b700d425a4
api/handler/rpc: improvements and fixes ( #1535 )
...
* api/handler/rpc: fix empty body case
* api/handler/rpc: copy all request headers to metadata
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-15 01:37:15 +03: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
Asim Aslam
e515005083
Remove only allowing certain methods
2020-04-13 23:05:39 +01:00
Asim Aslam
a056bdce7c
fix metadata parsing
2020-04-12 14:40:37 +01:00
Asim Aslam
b08c636b44
fixup handler tests
2020-04-12 14:29:38 +01:00
Asim Aslam
d03a02f2e4
fix import
2020-04-12 11:25:12 +01:00
Asim Aslam
962588b649
Strip MetadataKey global var
2020-04-12 11:16:08 +01:00
0a2363b49b
api minor improvements ( #1526 )
...
* api/handler/rpc: unblock all http methods and set Host meta
* api/router/static: add debug log
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-11 22:21:55 +03:00
Asim Aslam
0f2006ac50
fix compilation issues
2020-04-11 11:02:06 +01:00
Asim Aslam
d4b2c948dd
Remove cloudflare store
2020-04-10 19:50:57 +01:00
Asim Aslam
e5268dd0a6
move reg util to own package ( #1523 )
...
* move reg util to own package
* fix test
* fix broken static router
2020-04-10 17:41:10 +01:00
Ben Toogood
f9cfbe96c0
Merge master into resover-refactor
2020-04-09 12:42:34 +01: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
Ben Toogood
4ff959ef50
Dynamic Namespace
2020-04-09 11:03:33 +01:00
Ben Toogood
27eb7db1c2
Add default resolver to api router
2020-04-09 10:34:21 +01:00
Ben Toogood
3ede494945
Change import name
2020-04-09 10:32:08 +01:00
Ben Toogood
f102aba4c1
Fix HTTP tests
2020-04-09 10:28:38 +01:00
Asim Aslam
bf8ebf8ad2
add namespace
2020-04-08 23:27:32 +01:00
Asim Aslam
48dd30c4c2
fix http test
2020-04-08 19:20:43 +01:00
Ben Toogood
8ff86ae08b
Extract micro resolver
2020-04-08 16:21:53 +01:00
Asim Aslam
b2079669f7
Strip namespace from router
2020-04-08 15:39:01 +01:00
Asim Aslam
2c1d1afd71
Strip namespace from registry router
2020-04-08 15:38:02 +01:00
Asim Aslam
9a73828782
Remove unused handlers
2020-04-08 15:34:11 +01:00
ben-toogood
6b524e2c55
Merge branch 'master' into namespace
2020-04-08 09:12:28 +01:00
Ben Toogood
e907d24e3b
API Wrappers
2020-04-07 19:29:26 +01:00
Ben Toogood
67cd59d7bc
Rename namespace from Resolver.Endpoint
2020-04-07 16:27:59 +01:00
Ben Toogood
4362a885eb
Refactor Namespace Resolver
2020-04-07 16:24:51 +01:00
6aaad7d63f
api/router/static: allow to specify body dst ( #1486 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-07 15:38:27 +01:00
Ben Toogood
9d598836c3
Fix Tests
2020-04-07 11:37:04 +01:00
Ben Toogood
05ac3ff274
Tweak
2020-04-07 11:24:13 +01:00
Ben Toogood
76f6f80318
Default to Hostname
2020-04-07 11:23:21 +01:00
Ben Toogood
cb96949551
Merge branch 'master' of https://github.com/micro/go-micro into namespace
2020-04-07 10:58:54 +01:00
Ben Toogood
f0980e9b30
Change cross namespace request err level
2020-04-07 10:54:27 +01:00
Ben Toogood
977934f8fd
ServiceNamespace => ServicePrefix in api server
2020-04-07 10:39:27 +01:00
Ben Toogood
9e116731b1
ServiceNamespace => ServicePrefix in api server
2020-04-07 10:38:27 +01:00
Ben Toogood
316424f0f7
Fix comments typo
2020-04-07 10:35:57 +01:00
Ben Toogood
bd23dc1f18
Improve micro.mu check
2020-04-07 10:34:26 +01:00
Ben Toogood
501fc5c059
Refactor to use publicsuffix
2020-04-07 10:28:39 +01:00
Ben Toogood
11e1e9120a
Remove debugging
2020-04-07 10:10:37 +01:00
Ben Toogood
a81d86ed08
Merge Asim's Fixes
2020-04-07 10:08:06 +01:00
Ben Toogood
7206d5f964
Add Namespace to CombinedAuthHandler
2020-04-07 09:40:40 +01:00
Asim Aslam
e8a86585da
contains missing host port
2020-04-07 00:54:27 +01:00
Asim Aslam
5374896ed0
clone request
2020-04-07 00:29:35 +01:00
Asim Aslam
b6348ba59a
Fix cruft
2020-04-07 00:25:11 +01:00
Asim Aslam
ca11c4a672
Few nitpicks
2020-04-07 00:19:49 +01:00
Ben Toogood
574bf5ac69
Set value in context, not metadata
2020-04-06 16:10:08 +01:00
Ben Toogood
774c0d30a7
Encode Endpoint in API auth wrapper
2020-04-06 16:01:42 +01:00
ben-toogood
7f07e1a642
Merge branch 'master' into auth-resolver
2020-04-06 14:43:22 +01:00
bc7579f1d8
api/handler/rpc: fix panic on invalid error conversation ( #1483 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-04 00:55:15 +03:00
38aed6f0f6
api/handler/rpc: not log error on client disconnect ( #1482 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-04 00:37:18 +03:00
Ben Toogood
a82ce4d1ae
Add Debug
2020-04-03 15:03:18 +01:00
Ben Toogood
4a850ff8a0
Auth host fix
2020-04-03 14:40:24 +01:00
ben-toogood
350dd41732
Merge branch 'master' into auth-resolver
2020-04-03 14:19:03 +01:00
Ben Toogood
b864b3e350
Fix auth hosts bug
2020-04-03 14:09:25 +01:00
Ben Toogood
906263291b
Hotfix
2020-04-03 13:37:02 +01:00
Ben Toogood
d0e47206cc
Fix
2020-04-03 13:29:48 +01:00
Ben Toogood
1096c8fb39
Fix failing test
2020-04-03 10:16:19 +01:00
Ben Toogood
91b9c3f92e
Add defaults
2020-04-03 10:08:39 +01:00
Ben Toogood
183c8bfb81
Apply fix for apis
2020-04-03 09:45:39 +01:00
Ben Toogood
760233b858
Reverse Change
2020-04-03 09:34:52 +01:00
Ben Toogood
fdcb013f24
Fix web registry compatability bugs
2020-04-03 09:18:30 +01:00
Ben Toogood
cfde3ec3d9
Remove resolver logic
2020-04-02 18:03:57 +01:00
Ben Toogood
4a4c666528
Remove resolver logic
2020-04-02 18:03:21 +01:00
Ben Toogood
8b35c264eb
Pass resolver to api auth handler
2020-04-02 17:44:48 +01:00
Ben Toogood
4999f6dfd4
Namespace requests coming via api & web
2020-04-02 17:01:06 +01:00
0241197c6a
api/handler/rpc: binary streaming support ( #1466 )
...
* api/handler/rpc: binary streaming support
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fixup
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix sec webscoekt protol
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-02 10:13:04 +01:00
Asim Aslam
20c95d94cd
api completeness ( #1460 )
2020-04-01 12:07:50 +01:00
7b7a859a03
api: use http request Clone ( #1458 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-01 01:50:37 +03:00
8a8742f867
api/handler/rpc: dont change types of url fields ( #1457 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-01 01:26:58 +03:00
1490aff38e
api/handler/rpc: correctly parse nested url vars ( #1455 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-01 00:23:17 +03:00
18061723bb
fix api metadata extract from context ( #1452 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-31 22:36:51 +03:00
d6bef84de0
api/handler/rpc: fix metadata cleanup ( #1451 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-31 21:59:35 +03: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
3d7d5ce6b4
api: add static router and improve path parser in rpc handler ( #1437 )
...
* api: add static router and improve path parser in rpc handler
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* expose metadata context key to be able to get unmodified map keys
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: fix jsonpb codec for protobuf msg
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* api/handler/rpc: write 204 status code when rsp is nil
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* api/handler/rpc: add check for nil response for non javascript
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-30 09:04:59 +01:00
Asim Aslam
45ee5e9ad1
Move error for api validation to trace level ( #1432 )
...
* remove error on endpoint validation
* trace level
2020-03-27 14:01:47 +00:00
b38da6ced0
api/handler/rpc: process all methods and merge url params to json body ( #1427 )
...
* api/handler/rpc: process all methods and merge url params to json body
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* add merge json test
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-27 07:59:31 +00:00
Asim Aslam
62f9a054a4
100mb ( #1421 )
2020-03-26 16:57:31 +00:00
02839cfba5
api/handler: use http.MaxBytesReader and buffer pool ( #1415 )
...
* api/handler: use http.MaxBytesReader
protect api handlers from OOM cases
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-26 14:29:28 +03: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
8100d26430
api/router/registry: use logger ( #1402 )
...
* api/router/registry: use logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* api/server/acme: use logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-24 20:45:11 +00:00
ben-toogood
e0e77f3983
Updated auth interface ( #1384 )
...
* Updated auth interface
* Add Rule
* Remove Rule
* Return token from Renew
* Renew => Refresh
* Implement Tokens & Default Auth Implementation
* Change default auth to noop
* Change default auth to noop
* Move token.Token to auth.Token
* Remove Token from Account
* Auth service implementation
* Decode JWT locally
* Cookie for secret
* Move string to bottom of interface definition
* Depricate auth_exclude
* Update auth wrappers
* Update go.sum
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-23 16:19:30 +00:00
9826ddbd64
api/handler/rpc: log errors ( #1390 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-23 10:31:35 +03:00
ben-toogood
cd04111e3d
Pass redirect_to param on auth ( #1361 )
...
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-17 20:04:16 +00:00
ben-toogood
00cd2448a4
Fix bug where auth token is not set from cookie when excluded endpoint ( #1360 )
...
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-17 19:24:10 +00:00
ben-toogood
b3c631dd38
Support Wildcard Auth Excludes ( #1357 )
...
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-17 16:03:49 +00:00
ben-toogood
247707f583
Return store.ErrNotFound if not found when calling over rpc ( #1353 )
...
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-16 10:30:56 +00:00
Jake Sanders
1b4e881d74
Rewrite the store interface ( #1335 )
...
* WIP store rewrite
* Fix memory store tests
* Store hard expiry times rather than duration!
* Clarify memory test
* Add limit to store interface
* Implement suffix option
* Don't return nils from noop store
* Fix syncmap
* Start fixing store service
* wip service and cache
* Use _ for special characters in cockroachdb namespace
* Improve cockroach namespace comment
* Use service name as default store namespace
* Fixes
* Implement Store Scope
* Start fixing etcd
* implement read and write with expiry and prefix
* Fix etcd tests
* Fix cockroach store
* Fix cloudflare interface
* Fix certmagic / cloudflare store
* comment lint
* cache isn't implemented yet
* Only prepare DB staements once
Co-authored-by: Ben Toogood <ben@micro.mu>
Co-authored-by: ben-toogood <bentoogood@gmail.com>
2020-03-12 13:41:30 +00:00
7b385bf163
minimize allocations in logger and tunnel code ( #1323 )
...
* logs alloc
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* tunnel allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* try to fix tunnel
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* cache cipher for send
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-11 17:55:39 +00: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
9a7a65f05e
Auth Provider ( #1309 )
...
* auth provider mock interface
* Auth Provider Options
* Implement API Server Auth Package
* Add weh utils
* Add Login URL
* Auth Provider Options
* Add auth provider scope and setting token in cookie
* Remove auth_login_url flag
Co-authored-by: Asim Aslam <asim@aslam.me>
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-07 11:06:57 +00:00
ben-toogood
6d803d9e45
Implement api/server/cors ( #1294 )
2020-03-04 11:40:53 +00:00
Asim Aslam
49ffc60afb
Use Foo.Call on /foo ( #1286 )
...
Co-authored-by: Jake Sanders <i@am.so-aweso.me>
2020-03-03 16:47:15 +00:00
117f56ebf7
prune util/log and user logger ( #1237 )
...
* prune util/log and user logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* plaintext logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* add newline
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-23 13:45:20 +00:00