Commit Graph

280 Commits (c447955d931009fbcfdcc8478366e3527702b9d7)

Author SHA1 Message Date
Brian Waldon b41d6bc416 client: set hard limit on redirect checks 2015-02-28 10:45:21 -08:00
Brian Waldon 50a9b2d9c8 client: rm naked return from httpClusterClient.Do 2015-02-28 10:45:21 -08:00
Brian Waldon 99aa0e1fcc client: test httpClusterClient.reset failure cases 2015-02-28 10:45:21 -08:00
Brian Waldon ed173a2a76 client: fix bad URL fixture 2015-02-28 10:45:21 -08:00
Brian Waldon cd777b2966 client: test httpClusterClient.Sync 2015-02-28 10:45:21 -08:00
Brian Waldon ae062a0825 client: move lock so MembersAPI.List doesn't deadlock 2015-02-28 10:45:21 -08:00
Brian Waldon 83930ac113 client: test DefaultCheckRedirect 2015-02-28 10:45:21 -08:00
Brian Waldon 943c7ef307 client: test httpKeysAPI's Create and Update methods 2015-02-28 10:45:21 -08:00
Brian Waldon 115e758c32 client: test httpKeysAPI.Delete 2015-02-28 10:45:21 -08:00
Brian Waldon ece03fb987 client: drop unnecessary field deleteAction.Value 2015-02-28 10:45:21 -08:00
Brian Waldon 6fc209e574 client: test httpKeysAPI.Get 2015-02-28 10:45:21 -08:00
Brian Waldon 32bfcca5a8 client: test httpKeysAPI.Set 2015-02-28 10:45:20 -08:00
Brian Waldon 14b3f96091 client: test httpKeysAPI.Watcher 2015-02-28 10:45:20 -08:00
Brian Waldon cd85451971 client: clarify relationship of AfterIndex and waitIndex 2015-02-28 10:45:20 -08:00
Brian Waldon 09017af35e client: test httpWatcher 2015-02-28 10:38:47 -08:00
Brian Waldon 11a6cb68a6 client: test unmarshaling of failure responses 2015-02-28 10:38:47 -08:00
Brian Waldon 9378413283 client: exhaustive member-related testing 2015-02-28 10:38:47 -08:00
Brian Waldon 32ff3ce26f client: test for non-integer X-Etcd-Index 2015-02-28 10:38:47 -08:00
Brian Waldon 8a6b72b08d client: tweak test fields 2015-02-28 10:38:47 -08:00
Brian Waldon b174732812 client: introduce Error type 2015-02-28 10:38:47 -08:00
Brian Waldon 8fdc6b154e client: document PrevExistType 2015-02-28 10:38:47 -08:00
Brian Waldon 39b5b083c0 client: document Member fields 2015-02-28 10:38:47 -08:00
Brian Waldon 27de5eec76 client: document Response and Node structs 2015-02-28 10:38:47 -08:00
Brian Waldon 4a77760f56 client: break dependency on httptypes pkg 2015-02-28 10:38:46 -08:00
Brian Waldon 9b334e07a6 client: allow caller to decide HTTP redirect policy 2015-02-28 10:38:46 -08:00
Brian Waldon 1c03df62a5 client: WaitIndex -> AfterIndex 2015-02-28 10:38:46 -08:00
Brian Waldon a834f297f9 client: document KeysAPI methods 2015-02-28 10:22:52 -08:00
Brian Waldon 2b5589ddcd client: encourage error handling in package doc 2015-02-28 10:22:52 -08:00
Brian Waldon 6fd105d554 client: document using a custom context 2015-02-28 10:22:52 -08:00
Brian Waldon 479a17dcbf client: add GetOptions.Sort 2015-02-28 10:22:52 -08:00
Brian Waldon 84ede6fbec client: use options struct for KeysAPI.Get 2015-02-28 10:22:52 -08:00
Brian Waldon 8621caf3e2 client: define a DefaultTransport 2015-02-28 10:22:52 -08:00
Brian Waldon ce4486ff85 client: document Client methods 2015-02-28 10:22:52 -08:00
Brian Waldon 1773d0a18b client: simplify CancelableTransport doc 2015-02-28 10:22:52 -08:00
Brian Waldon 19dd4a0f3c client: document Config 2015-02-28 10:22:52 -08:00
Brian Waldon 6d82472275 client: move http.go into client.go 2015-02-28 10:22:52 -08:00
Brian Waldon bfbf672ce4 client: document MembersAPI methods 2015-02-28 10:22:52 -08:00
Brian Waldon 7255fb1b62 client: alias etcdserver/etcdhttp/httptypes.Member 2015-02-28 10:22:52 -08:00
Brian Waldon 932351a00d client: document Watcher.Next 2015-02-28 10:22:52 -08:00
Brian Waldon aee95468ba client: document MembersAPI/KeysAPI constructors 2015-02-28 10:22:51 -08:00
Brian Waldon e885c6c5f4 client: document *Options 2015-02-28 10:22:51 -08:00
Brian Waldon 88cea415a7 client: NewDiscoveryKeysAPI -> NewKeysAPIWithPrefix 2015-02-28 10:22:51 -08:00
Brian Waldon 89070fd237 client: package-level doc 2015-02-28 10:22:51 -08:00
Brian Waldon 3d4e1f59dc client: drop unnecessary Nodes type 2015-02-28 10:22:51 -08:00
Brian Waldon 7ff84351f5 client: centralize exported variables 2015-02-28 10:22:51 -08:00
Brian Waldon a9f605e5fe client: unexport defaultV2MembersPrefix 2015-02-28 10:22:51 -08:00
Brian Waldon bb9f016b91 client: unexport defaultV2KeysPrefix 2015-02-28 10:22:51 -08:00
Brian Waldon 3fdda06602 client: s/SyncableHTTPClient/Client/g 2015-02-28 10:22:51 -08:00
Brian Waldon bac1d2f420 client: unexport httpClient interface 2015-02-28 10:22:51 -08:00
Brian Waldon 52288fa748 client: remove CancelableTransport arg from httpClientFactory 2015-02-28 10:22:51 -08:00
Brian Waldon 3b41b77cd7 client: ClientConfig -> Config 2015-02-28 10:22:51 -08:00
Brian Waldon 2aecbaf165 client: unexport httpAction 2015-02-28 10:22:51 -08:00
Brian Waldon 3f5e827e3c client: httpClient -> simpleHTTPClient 2015-02-28 10:22:51 -08:00
Brian Waldon f037cb9f65 client: collapse unnecessary constructor 2015-02-28 10:22:50 -08:00
Brian Waldon 62054dfb5e client: don't cache httpClients in httpClusterClient 2015-02-28 10:22:50 -08:00
Brian Waldon 99d63eb62e client: protect httpClusterClient with RWMutex 2015-02-28 10:22:50 -08:00
Brian Waldon 0943831b8e client: establish httpClusterClient.reset 2015-02-28 10:22:50 -08:00
Brian Waldon 74fe28c5e0 client: exchange ClientConfig for SyncableHTTPClient 2015-02-28 10:22:50 -08:00
Brian Waldon 942f0f6b9e client: accept TTL through KeysAPI.Set 2015-02-28 10:22:50 -08:00
Brian Waldon 3d53e9bfaa client: pass around options as pointers 2015-02-28 10:22:50 -08:00
Brian Waldon 0a7e0875d5 client: copy DeleteOptions onto deleteAction 2015-02-28 10:19:05 -08:00
Brian Waldon 025ee0379c client: copy SetOptions onto setAction 2015-02-28 10:19:05 -08:00
Brian Waldon 01fc01ec69 client: KeysAPI.[R]Watch -> Watcher w/ opts struct 2015-02-28 10:19:04 -08:00
Brian Waldon bc32060b1d client: support PrevIndex in SetOptions & DeleteOptions 2015-02-28 10:14:25 -08:00
Brian Waldon 7ccf5eb476 client: support PrevValue in SetOptions & DeleteOptions 2015-02-28 10:14:25 -08:00
Brian Waldon 0f31f403d1 client: add KeysAPI.Delete 2015-02-28 10:14:25 -08:00
Brian Waldon 2f479c8721 client: assert method in tests 2015-02-28 10:14:25 -08:00
Brian Waldon 84e495e51e client: s/assertResponse/assertRequest/ 2015-02-28 10:14:25 -08:00
Brian Waldon 6e637f2f75 client: add KeysAPI.Set 2015-02-28 10:14:25 -08:00
Brian Waldon 8b3d05f661 client: add KeysAPI.RGet 2015-02-28 10:14:25 -08:00
Brian Waldon 6d89e6217d client: rename KeysAPI.RecursiveWatch to RWatch 2015-02-28 10:14:25 -08:00
Brian Waldon 4e5c015fe9 client: add Update method 2015-02-28 10:14:25 -08:00
Brian Waldon c6d955f4c1 client: drive Create with setAction; drop TTL 2015-02-28 10:12:35 -08:00
Barak Michener 92dca0af0f *: remove shadowing of variables from etcd and add travis test
We've been bitten by this enough times that I wrote a tool so that
it never happens again.
2015-02-17 16:31:42 -05:00
Jonathan Boulle f1ed69e883 *: switch to line comments for copyright
Build tags are not compatible with block comments.
Also adds copyright header to a few places it was missing.
2015-01-26 09:53:30 -08:00
Xiang Li 7171410422 discovery: discovery will try forever when there is a timeout.
Perviously, etcd retries three times for timeout error. After this
commit, etcd retries forever. Also this commit make etcd client
aware of gateway timetout.
2014-12-10 23:08:24 -08:00
Veres Lajos 3de2ab2c04 *: typofixes
https://github.com/vlajos/misspell_fixer
2014-12-04 22:51:19 +00:00
Brian Waldon 9a728a127a dep: bump golang.org/x/net/context
Move from code.google.com/p/go.net/context to
golang.org/x/net/context before bumping to latest.
2014-11-20 10:19:12 -08:00
Brian Waldon 5f6e536be8 Merge pull request #1639 from bcwaldon/etcdctl-tls
Wire up TLS flags for etcdctl
2014-11-07 13:19:36 -08:00
Xiang Li 66572561bf client: add error handling for addmember 2014-11-06 12:31:24 -08:00
Brian Waldon 4b555dba99 client: add SyncableHTTPClient.Endpoints 2014-11-06 10:54:56 -08:00
Jonathan Boulle 45b7c9a4ac client: return ErrNoEndpoint when none available
In certain cases (for example, if a cluster peer is accessible but it
has no members listed), the httpClusterClient could have an empty set of
endpoints as a result of the Sync. This means that its Do function could
potentially return a nil response and nil error, with catastrophic
consequences for callers.

To be safe (particularly about this latter behaviour), this change
errors in both Sync and Do if no endpoints are available.
2014-11-04 12:51:43 -08:00
Brian Waldon 6dd4944e62 client: follow redirects 2014-11-03 12:15:16 -08:00
Brian Waldon da6827f09e client: use all endpoints 2014-10-31 20:51:47 -07:00
Brian Waldon 58af26736c client: further clarify external interfaces 2014-10-31 20:45:55 -07:00
Brian Waldon 17c6f21d68 client: elevate context to caller of KeysAPI 2014-10-31 17:27:43 -07:00
Brian Waldon f0760d6246 client: elevate context to caller of MembersAPI 2014-10-31 17:27:42 -07:00
Brian Waldon 913d102a81 client: remove unused field 2014-10-31 17:25:05 -07:00
Brian Waldon 824049897d client: export necessary interfaces/methods 2014-10-31 17:25:05 -07:00
Brian Waldon 5ed5d018be client: add httpClusterClient.Sync 2014-10-31 17:25:05 -07:00
Brian Waldon f6e8b677cf client: pass httpActionDo into NewMembersAPI 2014-10-31 17:25:05 -07:00
Brian Waldon 0ef270c25c client: pass httpActionDo into New[Discovery]KeysAPI 2014-10-31 17:25:05 -07:00
Brian Waldon 1130273178 client: s/newHTTPClusterClient/NewHTTPClient/ 2014-10-31 17:25:05 -07:00
Brian Waldon 3eb126af4d client: use httpActionDo in httpClusterClient 2014-10-31 17:25:05 -07:00
Brian Waldon c282664c23 client: s/transport/CancelableTransport/
CancelableTransport is implemented by callers of the
client pkg, so we should export it so it is
documented publicly.
2014-10-31 17:25:04 -07:00
Brian Waldon d52d836761 client: return full http.Response in httpActionDo 2014-10-31 17:25:04 -07:00
Brian Waldon eab4692744 client: use v2MembersURL helper 2014-10-31 12:21:15 -07:00
Brian Waldon 8b8b3efdaa client: accept slice of endpoints 2014-10-31 12:21:15 -07:00
Brian Waldon 8d519ffdb8 client: introduce httpClusterClient 2014-10-31 12:21:15 -07:00
Brian Waldon 323fb1ec85 client: introduce httpActionDo interface 2014-10-31 12:21:15 -07:00
Brian Waldon 9d07db4432 client: move timeout into caller of httpClient 2014-10-31 12:21:15 -07:00
Brian Waldon 7c1f4a9baf client: explicitly carry API prefix around 2014-10-31 12:21:15 -07:00
Brian Waldon 052521eaf1 client: test assertStatusCode 2014-10-30 11:46:44 -07:00
Brian Waldon d756dd2079 client: test membersAPIActionRemove 2014-10-29 16:42:16 -07:00
Brian Waldon 5264c05ddb client: clean up style of TestMembersAPIActionList 2014-10-29 16:42:16 -07:00
Brian Waldon 4e759b46ce client: use httptypes.MemberCreateRequest in member add 2014-10-29 16:42:14 -07:00
Brian Waldon e457d52f5c client: log incorrect HTTP resp body as string 2014-10-29 16:37:07 -07:00
Jonathan Boulle 97c23c4333 client: pass around statuscode instead of Response
There's no real need for do and doWithTimeout to return Responses when
the only field of interest is the status code.

This also removes the superfluous httpMembersAPIResponse struct.
2014-10-29 15:47:55 -07:00
Brian Waldon 95231c1278 Merge pull request #1493 from bcwaldon/etcdctl-members
etcdctl members [list|add|remove]
2014-10-29 15:44:30 -07:00
Brian Waldon 8b12e1aa37 client: fill in MembersAPI 2014-10-29 15:03:22 -07:00
Brian Waldon ab67fa4cc6 api: remove admin prefix from members API 2014-10-29 12:12:51 -07:00
Brian Waldon 80ca168cbe client: simplify MembersAPI response parsing 2014-10-27 11:22:47 -07:00
Brian Waldon 14795d8ed9 httptypes: use MemberCollection for JSON (de)serialization 2014-10-27 11:22:47 -07:00
Brian Waldon 54a2d8ffc9 client: move Member models to new types pkg 2014-10-27 11:22:46 -07:00
Brian Waldon cba19e348f client: MembersAPI.List 2014-10-25 11:30:15 -07:00
Brian Waldon 00dcbf8bf7 client: unexport HTTPKeysAPI 2014-10-25 08:58:25 -07:00
Brian Waldon 73e48068c2 client: add prefix to KeysAPI 2014-10-25 08:58:25 -07:00
Brian Waldon f21d93ba60 client: define DefaultRequestTimeout 2014-10-24 13:28:04 -07:00
Brian Waldon 45d8fbdcda client: move discovery path logic into client pkg 2014-10-24 13:28:04 -07:00
Brian Waldon ce4df96e69 client: break apart KeysAPI from httpClient 2014-10-24 13:27:59 -07:00
Brian Waldon 992e7c76e0 client: copy v2KeysPrefix to httpClient
It's poor form to muck with a global variable. Make a copy when the
httpClient object is instantiated to make httpClient.SetPrefix safe.
2014-10-23 16:31:45 -07:00
Brian Waldon a85a47c8f9 client: s/v2URL/v2KeysURL/ 2014-10-23 16:31:42 -07:00
Brian Waldon ebe32689d4 client: s/v2Prefix/DefaultV2KeysPrefix/ 2014-10-23 16:30:56 -07:00
Jonathan Boulle b3d5333cb3 *: fix various formatting issues 2014-10-20 17:55:18 -07:00
Jonathan Boulle 7a4d42166b *: add license header to all source files 2014-10-17 15:41:22 -07:00
Jonathan Boulle 4183b69e12 *: move from third_party to Godep 2014-10-14 00:37:52 -07:00
Barak Michener ca1bbee737 add logging and backoff and simple retry logic 2014-10-07 16:58:58 -04:00
Xiang Li 9e3d045b2b *:discovery hook up 2014-10-06 10:12:42 -07:00
Xiang Li 2b623cf0fa discovery: init commit 2014-09-22 19:51:31 -07:00
Brian Waldon 49cc76d33b client: min client for discovery 2014-09-21 10:29:52 -07:00