Commit Graph

608 Commits

Author SHA1 Message Date
philippeitis
24f361749a Use .to_string() directly for reduction in build size
Went from 3,325,128b to 3,287,744b for accessapproval1 by using .to_string() directly, under --release config.
2022-10-10 17:37:16 -07:00
philippeitis
98a02a73a4 Simplify searching for "alt=json" param 2022-10-10 17:14:43 -07:00
philippeitis
d611a319de Fix bug in removing used parameters
The current implementation removes parameters if they are used - however, it only removes the first instance, and removes instances by index. However, when multiple items are being removed, following indices must be decremented by 1 to account for previously removed items.
2022-10-10 17:13:38 -07:00
philippeitis
fa1c5a84ec Use BTreeSet instead of BTreeMap 2022-10-10 17:08:58 -07:00
Sebastian Thiel
913087c1dc use google-apis-common 5.0 for good measure 2022-10-10 09:25:33 +08:00
philippeitis
59874c9c98 Remove indentation 2022-10-10 00:53:24 +00:00
philippeitis
1c04f662d1 Use correct string impls for http headers 2022-10-09 00:04:30 -07:00
philippeitis
a1041d6e16 Fix serde_as not reporting changed member types 2022-10-08 23:12:36 -07:00
philippeitis
f6cced9605 Support serde for arbitrary field types
This introduces the `serde_with` dependency and `rust_type.py`, to allow supporting arbitrary types for serialization.
Since fields may have arbitrary types (eg. `HashMap<_, chrono::Duration>`) which need deserialization, it is necessary to
use type-based serialization to avoid implementing (de)serialization for every permutation of types that require special serialization.
However, `serde` does not let you (de)serialize one type as another (eg. `chrono::Duration` as `Wrapper`) - thus necessitating `serde_with`, which does. `rust_type.py` introduces the `RustType` class, which makes it easy to describe the (de)serialization type used by `serde_with`
2022-10-08 23:01:30 -07:00
philippeitis
8cc2707563 Fix cargo check w.r.t. FieldMask
The serde traits are now directly implemented for FieldMask - this helps address potential serde issues with wrapper types, and simplifies the serde process somewhat.
2022-10-08 19:59:23 -07:00
philippeitis
ddac761e06 Add #[serde(default)] for Option parsing
If using #[serde(with = ...)] with an Option type, serde will expect all marked fields to be present. Adding #[serde(default)] restores expected behaviour - if no Option value is present, None will be used.
2022-10-08 15:50:47 -07:00
philippeitis
d043fd67b9 Include references to definitions of types 2022-10-08 12:56:54 -07:00
philippeitis
a2d16944cd Make format fully supported 2022-10-08 12:36:59 -07:00
philippeitis
2f3972036c Remove unnecessary examples for ref types 2022-10-08 03:24:47 -07:00
philippeitis
afb96bd264 Add FieldMask and serde impl 2022-10-08 03:22:08 -07:00
philippeitis
5398dc6f79 refactor serde functionality into separate module 2022-10-08 00:51:59 -07:00
philippeitis
23dd5d7c24 chrono example types 2022-10-07 21:46:03 -07:00
philippeitis
158e52399e Use UTC DateTime 2022-10-07 21:35:05 -07:00
philippeitis
66db5c892d Use type constructors for examples 2022-10-07 21:27:13 -07:00
philippeitis
1f10077e44 Find sources for appropriate types 2022-10-07 20:59:51 -07:00
philippeitis
44882a3c44 use chrono::Duration instead of custom client type 2022-10-07 20:44:31 -07:00
philippeitis
6ced748cb1 Fix tested type 2022-10-07 20:38:41 -07:00
philippeitis
05df68de32 Use chrono::Duration directly with serde attributes 2022-10-07 20:34:40 -07:00
philippeitis
29aa8df15b Use appropriate types for date-time, duration, bytes 2022-10-07 13:36:03 -07:00
philippeitis
3d831bcdc6 Use type specified by format key where possible 2022-10-06 22:57:48 -07:00
Sebastian Thiel
fe1e97299f Merge branch 'patch-2' 2022-10-01 09:43:31 +08:00
philippeitis
2b5f119242 Change dependency in api.rs 2022-10-01 01:36:23 +00:00
philippeitis
27891b8a10 Use tokio::time::sleep over std:🧵:sleep in api.rs as well 2022-10-01 01:34:56 +00:00
shinichi kogai
cd863136e0 attempt to avoid conflict of common resource name 2022-09-29 12:39:51 +09:00
Sebastian Thiel
a1e6496ccd run only tests that are actually used/implemented 2022-09-29 09:02:05 +08:00
philippeitis
9142859612 Move client.rs to common dependency 2022-09-27 21:48:31 -07:00
Sebastian Thiel
8d7309b78c rename google-api-client to google-apis-common 2022-09-25 19:43:56 +08:00
Sebastian Thiel
013dc54ac8 Remove obsolete code for client.rs, replace it with a note.
The note says that it's not worth investigating how to make the build
system not look for this file if in API mode, as an empty file that
isn't used hurts no one and probably keeps everything simpler.
2022-09-25 19:37:40 +08:00
philippeitis
3fc9a077d2 Remove yup-oauth2 from API crates 2022-09-24 21:04:58 -07:00
philippeitis
e6be1edb45 Split out common api client code into separate crate 2022-09-24 20:36:01 -07:00
philippeitis
e61090cc75 Replace () with documented NoToken for clarity 2022-09-25 01:48:03 +00:00
philippeitis
b3397902c0 Update mkdocs.yml.mako 2022-09-25 01:19:56 +00:00
philippeitis
49ff295ab9 Use key-values for nav 2022-09-25 00:52:58 +00:00
Sebastian Thiel
fedf48445f See if this fixes CI by naively swapping 'pages' with 'nav'. 2022-09-25 08:32:27 +08:00
philippeitis
7c045d7a25 Add yup-oauth2 error to auth error handling 2022-09-24 12:16:58 -07:00
philippeitis
cac4666204 Remove breaking changes, add TODOs 2022-09-24 11:55:55 -07:00
philippeitis
7078038857 Use generic Authy trait in place of yup_oauth2 2022-09-23 00:21:27 -07:00
Kyle Gentle
a60caa2690 generator lib: Initial tests
Move existing tests into a new __tests__ module under generator/lib.
Also define a new test for `util.new_context`, to prevent regressions as
changes are made.
2022-08-18 21:23:55 -04:00
Kyle Gentle
8ba6acb88b util.py: Make new_context dict-compatible
This is an incremental change towards a strongly-typed util module,
aimed at reducing dependency on the DictObject class. The rough idea is
to annotate everything as Dict, add some tests to codify the existing
behavior, and then start defining dataclasses for the dischovery schema.

We also remove some unused logic & params.
2022-08-18 21:23:55 -04:00
Kyle Gentle
08552c4364 Restructure src dir
Make a few changes in the toplevel src dir to help separate
templates from code. Specifically, we rename `src/mako` to
`src/generator`, and nest the mako templates inside a
`src/generator/templates` dir.

This isolates most Python code into the `src/generator/lib` dir.
2022-08-18 21:23:55 -04:00
Kyle Gentle
5e1c0c857e pyright type checking: Initial setup
* Update imports to use fully qualified module name
* Add `typecheck` target to Makefile
* Add type annotations to appease pyright
* Switch from importlib_resources backport library to stdlib
  import.resources
2022-08-18 21:23:55 -04:00
JohnDimas
6d0a9740da Resolves 'Panic on http2 timeout ' 2022-07-21 14:57:37 +02:00
David Schmitt
7293ff5b10 Fix the client source to pass cargo test
* change `http::Uri` -> `hyper::http::Uri`
* add dependency on `tower-service`
2022-06-03 21:03:54 +01:00
David Schmitt
c8bd7f77d8 Fix doc-test preamble to use new builder API 2022-06-03 17:37:54 +01:00
Sebastian Thiel
5c22221f77 Update to latest released yup-oauth2 v7 2022-06-01 21:12:45 -04:00