Commit Graph

82 Commits

Author SHA1 Message Date
a3967b8652
case insensitive header search 2022-01-17 13:44:29 -08:00
a5b78384f5
build works, c_allocator no longer required 2022-01-12 09:18:16 -08:00
1c41737202
upgrade to zig 0.9.0
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-03 08:06:14 -08:00
687880f27e
free requests in demo 2021-09-06 15:48:10 -07:00
d02272d12c
proper path/query support for REST v1
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-05 14:33:33 -07:00
87116cb69e
support requests with bodies/responses without 2021-09-02 15:40:16 -07:00
535205e947
fix query args (http_query is a decl, not a field)
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-01 08:58:25 -07:00
9f58076bac
add service_meta as struct const
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-24 17:13:45 -07:00
7f178bcc91
provide ability to handle requests built at runtime
Some checks failed
continuous-integration/drone/push Build is failing
This commit adds a new interface that is capable of runtime
use. By calling Request(action).call(request, options), the request
object can now be built at runtime. This change also moves the client
object into the options structure. It also moves the metaInfo generated
function to a type-based function rather than requiring an instance for
binding.
2021-08-24 17:02:28 -07:00
5c5f23eb26
skip value of field when field is unused (ported in from zig master) 2021-08-23 10:16:22 -07:00
8e853e9a82
rest json v1 basic requests (responses tbd)
All checks were successful
continuous-integration/drone/push Build is passing
This provides initial implementation with some basic calls
working. Only GET requests have been verified so far.
Http header support missing. POST/PUT might work, but
have not been tested. Currently the demo tests are
failing due to a response deserialization issue that
is still being debugged
2021-08-13 18:12:05 -07:00
17b0ae9551
provide smithy-based json serialization for request data
All checks were successful
continuous-integration/drone/push Build is passing
This will use the actual structure name or the override
from the trait as needed. Return value support
is also enabled in the code generation but not in
aws.zig. The current fuzzy checks should get most
of the way there though
2021-08-13 10:28:29 -07:00
f21ce40186
include proper service name and use it 2021-08-12 17:51:07 -07:00
81cc6a8cde
fix query tests by consistently allocating requestid
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-12 17:05:30 -07:00
00b2ab3d27
initial support for json 1.0 2021-08-12 14:24:24 -07:00
34b803c7dc
support for EC2Query protocol requests (response is XML and not yet implemented)
Some checks failed
continuous-integration/drone/push Build is failing
2021-07-24 00:25:53 -07:00
4bca7eba8f
add query string capabilities/move to request object 2021-07-24 00:22:06 -07:00
dfa0be60b9
update code generation without containing struct
Some checks failed
continuous-integration/drone/push Build is failing
Instead we will rely here on the implicit struct provided by the file
itself. This means that when the service_manifest.zig import is
assigned, we don't end up with a construct like "manifest.sts.sts" to
get to the sts service. This simplifies greatly the way that
servicemodel.zig needs to behave.

One down side, however, is that the structure does not seem
accessible with the current zig language, making metaInfo unable
to access itself as it did before. Or maybe it can, I just can't find
it. So, this change also adds a new "service_metadata" public constant
with the same declarations being published at the file level, and
that is the new return from the metaInfo function. Our aws.zig
only really needs the action and that metadata, so we're ok with that
even if there is some duplication (we could codegen pointers over, and
maybe should to save a little bit of space).
2021-06-30 13:40:20 -07:00
dcfefa4072
address zig changes in awshttp. zig 15a030ef3 or newer needed
There are two recent changes in zig that effect awshttp.

1. cf65ab8 disallows unused variables. Fair enough and backward
compatible.
2. https://github.com/ziglang/zig/issues/2115#issuecomment-827968279

This comment resulted in a backward incompatible change to use the
underlying value from a C enum rather than its symbol. This reduces
edge cases in the compiler. Ultimately we may want awshttp to define
zig enums that mirror the C enums, but for now I've commented the
definitions of the C enums used.
2021-06-30 09:14:28 -07:00
06479b8cb7
more useful logging 2021-06-23 18:21:34 -07:00
6f38ecd893
update to new json/url options 2021-06-23 18:20:45 -07:00
1050ca5222
update documentation and comments 2021-06-18 13:46:23 -07:00
bd3605e387
support request data in query protocol calls
This should complete the query protocol calls. However, there are likely
gaps in implementation for the transformation of request parameters
to url encoded body data
2021-06-14 16:12:55 -07:00
fe7e37b71a
rough out protocol plan 2021-06-12 13:39:26 -07:00
01aa8c8d1a
add http error handling 2021-06-12 13:38:50 -07:00
ad54596837
wire Services through to aws.zig and main demo 2021-06-10 14:35:22 -07:00
c6dbbf33af
allow different endpoing/sigv4 service names
This seems silly, but I guess in AWS it is a thing that these two values may
be different. Consumers of awshttp have the option of ignoring this, which
should be correct most of the time. Aws.zig will, however, use the service
metadata to do the right thing
2021-06-09 16:25:49 -07:00
bd5d509665
update servicemodel for generated model
This increases compilation time significantly as all 260+ services
need to be analyzed by zig during compilation. I plan to change
the model from a single "services" constant to a function
that will import only services that plan to be used. This
might be in addition to the single constant to allow
consumers to choose short compile times or all services
support
2021-06-09 16:22:44 -07:00
b1397d896e
move service model to its own file
This will need further refactoring to incorporate genned stuff
2021-05-29 19:33:08 -07:00
05fcc5755e
move http heavy lifting to its own file/reorganize a bit 2021-05-14 12:37:00 -07:00
1b831cd91d
convert to json - core processing fully generic 2021-05-13 15:53:53 -07:00
d3efa21a41
first thing that actually works 2021-04-27 11:24:01 -07:00