Adam Leventhal
3f47ff856c
update dropshot and typify ( #383 )
2023-03-22 22:56:25 -07:00
dependabot[bot]
c922600923
Bump typify from `d1cae0f` to `b35e5c0` ( #366 )
...
* Bump typify from `d1cae0f` to `b35e5c0`
Bumps [typify](https://github.com/oxidecomputer/typify ) from `d1cae0f` to `b35e5c0`.
- [Release notes](https://github.com/oxidecomputer/typify/releases )
- [Commits](d1cae0f7d5...b35e5c06e7
)
---
updated-dependencies:
- dependency-name: typify
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* update fixture data
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2023-03-17 15:39:46 -07:00
Adam Leventhal
1b942d1146
correct builder error message for Option types ( #327 )
2023-02-05 20:31:40 -08:00
Adam Leventhal
c26af3bd95
update typify; update tests ( #326 )
2023-02-04 17:22:55 -08:00
Adam Leventhal
88ff3cf1e0
update typify and nexus.json ( #323 )
2023-01-31 21:28:12 -08:00
dependabot[bot]
713138673f
Bump typify from `c18d045` to `cd1f95b` ( #322 )
...
* Bump typify from `c18d045` to `cd1f95b`
Bumps [typify](https://github.com/oxidecomputer/typify ) from `c18d045` to `cd1f95b`.
- [Release notes](https://github.com/oxidecomputer/typify/releases )
- [Commits](c18d0452db...cd1f95b66b
)
---
updated-dependencies:
- dependency-name: typify
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* update output
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2023-01-30 12:17:51 -08:00
Adam Leventhal
32f2089f41
update typify + fixture data ( #318 )
2023-01-25 09:19:15 -08:00
John Vandenberg
1ef131a244
Add yaml support ( #227 )
2023-01-14 08:58:57 -08:00
Adam Leventhal
96af7b5a09
documentation examples sometimes are not formatted properly ( #303 )
2023-01-13 10:59:21 -08:00
Adam Leventhal
a5fea0b061
fix a warning with base64 ( #300 )
2023-01-11 14:19:55 -08:00
bnaecker
ba189e6323
Add docstrings to the generated Client ( #295 )
...
- Add docstring to the `Client`, based on the OpenAPI title and
description, if provided.
- Add docstrings to the constructors and getters shared by all generated
clients.
- Update expectorate tests.
- Small typo-fix in README.
2023-01-07 18:05:33 -08:00
Artem Medvedev
e34756583a
feat: support header parameters ( #210 )
2023-01-04 11:14:37 -08:00
dependabot[bot]
de6895a040
Bump typify from `da0505b` to `5106273` ( #291 )
...
* Bump typify from `da0505b` to `5106273`
Bumps [typify](https://github.com/oxidecomputer/typify ) from `da0505b` to `5106273`.
- [Release notes](https://github.com/oxidecomputer/typify/releases )
- [Commits](da0505b0b4...5106273f3d
)
---
updated-dependencies:
- dependency-name: typify
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* update output
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2023-01-02 19:42:54 -08:00
Adam Leventhal
57031d77d3
Allow conversion overrides by specifying a schema ( #280 )
2022-12-27 11:55:57 -08:00
dependabot[bot]
83ed0e14bb
Bump typify from `c840ea7` to `55d9fa1` ( #264 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2022-12-02 11:09:46 -05:00
Augustus Mayo
12d4adbc6c
Path level parameters ( #262 )
2022-12-01 22:50:50 -08:00
Adam Leventhal
68290b08e0
allow for type adjustments: renames, and additional derives ( #234 )
2022-11-14 10:51:05 -08:00
liffy
4e2dcc5365
Generate a Client method for Dropshot websocket channels ( #183 )
...
Generated methods return `ResponseValue<reqwest::Upgrade`, which may be
passed to a websocket protocol implementation such as
`tokio_tungstenite::WebSocketStream::from_raw_stream(rv.into_inner(), ...)`
for the purpose of implementing against the raw websocket connection, but
may later be extended as a generic to allow higher-level channel message
definitions.
Per the changelog, consumers will need to depend on reqwest 0.11.12 or
newer for HTTP Upgrade support, as well as base64 and rand if any
endpoints are websocket channels:
```
[dependencies]
reqwest = { version = "0.11.12" features = ["json", "stream"] }
base64 = "0.13"
rand = "0.8"
```
Co-authored-by: lif <>
2022-09-28 13:40:07 -07:00
Adam Leventhal
7e5dc6586c
gussy up docs for release ( #193 )
...
make TryInto use fully specified as std::convert::TryInto
2022-09-10 17:15:14 -07:00
Adam H. Leventhal
ad8be1fdd5
update to typify 0.0.10
2022-09-10 09:41:07 -07:00
Adam Leventhal
fa4e09f00a
sync w/ typify and add a test ( #178 )
2022-08-27 09:31:35 -07:00
Adam Leventhal
e79ac19ae7
Add prelude for Client and extension traits (when they exist) ( #176 )
2022-08-27 08:23:02 -07:00
Adam Leventhal
e4221a1350
Typify update for builder structs ( #171 )
2022-08-18 11:58:55 -07:00
Karen Cárcamo
ba00230176
Derive Debug for types ( #145 )
...
* Derive Debug for client and types
* run tests
* update changelog
* refactor
2022-08-03 13:18:43 +12:00
Adam Leventhal
ea5a6a5a79
update nexus and typify ( #142 )
2022-07-26 21:23:01 -07:00
Adam Leventhal
bfd194f39c
Change builder methods for setting a parameter with type T to accept a TryInto<T> ( #133 )
...
This makes constrained types a bit more
ergonomic and will allow us to accept fallible builders more easily
2022-07-18 11:55:21 -07:00
Adam Leventhal
9f6f940705
update nexus openapi ( #126 )
2022-07-14 20:59:36 -07:00
dependabot[bot]
75519247fa
Bump typify from `7b5f72b` to `f58c5e2` ( #117 )
...
* Bump typify from `7b5f72b` to `f58c5e2`
Bumps [typify](https://github.com/oxidecomputer/typify ) from `7b5f72b` to `f58c5e2`.
- [Release notes](https://github.com/oxidecomputer/typify/releases )
- [Commits](7b5f72b1e4...f58c5e23b1
)
---
updated-dependencies:
- dependency-name: typify
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* fixups and output update
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2022-07-12 10:57:06 -07:00
Joshua M. Clulow
6e90509eef
improved template parsing ( #111 )
2022-07-08 16:54:53 -07:00
Adam Leventhal
03e2cfad3c
add support for application/x-www-form-urlencoded bodies ( #109 )
...
* add support for application/x-www-form-urlencoded bodies
* self review
* alphabetizing
* remove commented code
* update changelog
2022-07-07 18:35:36 -07:00
Adam Leventhal
6796e0c1ca
extra derives are accidentally ignored ( #105 )
2022-07-02 22:28:06 -07:00
Adam Leventhal
9b28ac87c6
add an optional builder pattern as well as extension traits for tags when using the builder interface ( #86 )
2022-07-02 19:09:38 -07:00
Adam Leventhal
3bc3d5972b
update nexus spec ( #72 )
2022-05-23 08:49:37 -07:00
dependabot[bot]
1ff7a900fa
Bump typify from 0.0.7 to 0.0.8 ( #69 )
...
* Bump typify from 0.0.7 to 0.0.8
Bumps [typify](https://github.com/oxidecomputer/typify ) from 0.0.7 to 0.0.8.
- [Release notes](https://github.com/oxidecomputer/typify/releases )
- [Changelog](https://github.com/oxidecomputer/typify/blob/main/CHANGELOG.adoc )
- [Commits](https://github.com/oxidecomputer/typify/commits )
---
updated-dependencies:
- dependency-name: typify
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* overwrite
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2022-05-21 21:22:10 -07:00
Adam Leventhal
1af79ebec7
honor default values for struct properties ( #50 )
2022-05-12 15:07:48 -07:00
Adam Leventhal
7f1b98f7b1
pull in the most recent typify ( #44 )
...
change symbol sanitization accordingly (use heck rather than convert_case)
fix: OpenAPI -> JSON Schema conversion was losing title and docs
remove assert that there are no tag (but still ignore them)
2022-05-09 17:30:08 -07:00
Adam Leventhal
75348207d7
improve rustdoc output for generated crates ( #37 )
2022-03-17 23:54:10 -07:00
Adam Leventhal
ea80069ef3
Handle byte streams for both success and error responses ( #35 )
2022-03-15 16:11:47 -07:00
Adam Leventhal
ae7c178e21
Correct renaming of path component identifiers ( #34 )
2022-03-08 14:31:56 -08:00
Adam Leventhal
305635e779
update ( #33 )
2022-03-07 23:22:44 -08:00
Adam Leventhal
579260a943
correct handling of parameters ( #32 )
...
- improve parameter handling for names that are invalid rust identifiers
- fix broken logic for non-optional query parameters
2022-03-04 10:58:16 -08:00
Adam Leventhal
25192b5dc1
Add a wrapper types for success and error responses ( #26 )
2022-02-08 08:59:38 -08:00
Adam Leventhal
e47fc93748
generate iterators over dropshot paginated interfaces ( #19 )
...
* Adds support for interating with Streams over interfaces that are tagged
with the x-dropshot-pagination extension. This requires clients to use
the futures crate.
Adds tests that compile generated clients.
Updates nexus.json to reflect a more recent omicron API.
Changes all generated methods to have a lifetime ('a) bound on all
references. This isn't necessary for most methods, but greatly
simplifies generation of the associated paginated interface.
2022-01-05 12:02:46 -08:00
Adam Leventhal
e58ebd18fa
introduce an intermediate form ( #18 )
...
introduce an intermediate form; this is going to be used to generate a few different things:
- an interator interface for paginated APIs; the IR will let us re-use
the typify types
- a CLI generator that will generate calls into the generated client
- an automated test harness that will validate the generated client
against a mock server
2021-12-09 18:15:24 -08:00
Adam H. Leventhal
75b224c047
Handle operations whose response is a `null`
2021-11-09 23:27:07 -08:00
Adam Leventhal
a3fbbc06ba
fixes to support omicron clients ( #14 )
2021-11-06 23:24:03 -07:00
Adam Leventhal
7934be90b9
a variety of improvements to support omicron clients ( #12 )
...
- add the start of a client support crate
- add support for pre/post request hooks with consumer-specific data
- suggest type names for parameter and response types in case those
types are unnamed
- handle more reference types by resolving them properly
- improve optional parameter generation
2021-10-29 07:16:39 -07:00
Adam Leventhal
97857c347c
convert from executable -> executable + library with macro and builder options ( #9 )
2021-10-17 10:40:22 -07:00