Commit Graph

13 Commits

Author SHA1 Message Date
7dcf3d3a2e
upgrade to nominated zig 2024.3.0-mach (0.12.0-dev.3180+83e578a18)
Some checks failed
aws-zig mach nominated build / build-zig-nightly (push) Failing after 28m36s
aws-zig nightly build / build-zig-nightly (push) Failing after 57s
There were significant changes to the way HTTP operates since 0.11,
effecting client operations, but more substantially, the server
implementation, which effected the test harness.

std.http.Headers was removed, including the getFirstValue function, which
needed to be replicated. On the plus side, a std.http.Header struct was
added, identical to our own structure, so I have removed out own header
in favor of stdlib.

On the Http client side, I have switched to use the fetch API. Proxy
support is built in, but we are using (mostly) our own implementation
for now, with the remaining conversion left as a TODO item. Raw URIs are
now supported, so the workaround for issue 17015 has been removed. Large
payloads should also be fixed, but this has not been tested.

The standard library now adds the content-length header
(unconditionally), which is a decision of dubious nature. I have removed
the addition of content-length, which also means it is not present
during signing. This should be allowed.

Dependency loop on fieldTransformer was fixed. This should have been
a problem on zig 0.11, but was not. This effected the API for the json
parsing, but we were not using that. At the call site, these did not
need to be specified as references.

With the http server no longer doing all the allocations it once was,
the test harness now has a lot more allocations to perform. To alleviate
the bookeeping, this was moved to an Arena allocator. The client,
which is really what is under test, continues to use the allocator
passed.
2024-04-02 09:27:42 -07:00
5be18af930
upgrade servicemodel.zig 2023-08-04 16:39:15 -07:00
e6f7ab003d
zig fmt to take care of easy stuff 2023-08-04 10:07:58 -07:00
cfdf4a3141
these are old changes, but I believe part of 0.11 from a while back 2023-08-04 10:06:54 -07:00
3005e07cee
fix servicemodel test
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-01 08:27:58 -07:00
86751f22e9
adjust type for new casing code
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-27 09:40:11 -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
3c9f91c012
rework servicemodel to avoid comptime_string @import
This method was in violation of the accepted proposal
https://github.com/ziglang/zig/issues/2206
and disallowed in the compiler as of adc2aed,
now in 0.8.0.
2021-06-30 09:21:08 -07:00
7f8ddd3461
set branch quota to allow all services to be processed 2021-06-10 14:23:11 -07:00
f9e6f92026
individual service support - evaluation exceeded 1000 branches 2021-06-10 14:09:22 -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
065fc2c838
remove broken code 2021-06-01 14:49:17 -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