├── .git-blame-ignore-revs ├── .gitallowed ├── .github ├── dependabot.yml └── workflows │ ├── PULL_REQUEST_TEMPLATE.md │ └── ci.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── VERSION ├── auth-api ├── README.md ├── build.gradle.kts └── src │ └── main │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── auth │ └── api │ ├── AuthException.java │ ├── ExpectationNotMetException.java │ ├── NullSigner.java │ ├── Signer.java │ └── identity │ ├── ApiKeyIdentity.java │ ├── ApiKeyIdentityRecord.java │ ├── Identity.java │ ├── IdentityNotFoundException.java │ ├── IdentityResolver.java │ ├── IdentityResolverChain.java │ ├── IdentityResolvers.java │ ├── IdentityResult.java │ ├── LoginIdentity.java │ ├── LoginIdentityRecord.java │ ├── StaticIdentityResolver.java │ ├── TokenIdentity.java │ └── TokenIdentityRecord.java ├── aws ├── README.md ├── aws-auth-api │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── auth │ │ └── api │ │ └── identity │ │ ├── AwsCredentialsIdentity.java │ │ ├── AwsCredentialsIdentityRecord.java │ │ └── AwsCredentialsResolver.java ├── aws-event-streams │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── events │ │ ├── AwsEventDecoderFactory.java │ │ ├── AwsEventDeserializer.java │ │ ├── AwsEventEncoderFactory.java │ │ ├── AwsEventFrame.java │ │ ├── AwsEventShapeDecoder.java │ │ ├── AwsEventShapeEncoder.java │ │ ├── AwsFrameDecoder.java │ │ └── AwsFrameEncoder.java ├── aws-mcp-cli-commands │ ├── build.gradle.kts │ └── src │ │ └── main │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── mcp │ │ │ └── cli │ │ │ ├── AwsMcpRegistry.java │ │ │ └── commands │ │ │ └── AddAwsServiceBundle.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ ├── software.amazon.smithy.java.mcp.cli.ConfigurationCommand │ │ └── software.amazon.smithy.mcp.bundle.api.Registry ├── aws-mcp-types │ ├── build.gradle.kts │ ├── license.txt │ ├── smithy-build.json │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── smithy │ │ ├── awsmcp.smithy │ │ └── manifest ├── aws-service-bundle │ ├── build.gradle.kts │ └── src │ │ └── main │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── servicebundle │ │ │ └── provider │ │ │ ├── AwsServiceBundle.java │ │ │ └── AwsServiceBundlePluginFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── software.amazon.smithy.modelbundle.api.BundlePluginFactory ├── aws-service-bundler │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── servicebundle │ │ │ │ └── bundler │ │ │ │ ├── ApiStandardTerminology.java │ │ │ │ └── AwsServiceBundler.java │ │ └── resources │ │ │ └── models.txt │ │ └── test │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── servicebundle │ │ │ └── bundler │ │ │ └── AwsServiceBundlerTest.java │ │ └── resources │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── servicebundle │ │ └── bundler │ │ ├── accessanalyzer-2019-11-01.json │ │ └── dynamodb-2012-08-10.json ├── aws-sigv4 │ ├── build.gradle.kts │ └── src │ │ ├── jmh │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── client │ │ │ └── auth │ │ │ └── scheme │ │ │ └── sigv4 │ │ │ └── SigV4SignerTrials.java │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── client │ │ │ │ └── auth │ │ │ │ └── scheme │ │ │ │ └── sigv4 │ │ │ │ ├── Pool.java │ │ │ │ ├── SigV4AuthScheme.java │ │ │ │ ├── SigV4Settings.java │ │ │ │ ├── SigV4Signer.java │ │ │ │ ├── SigningCache.java │ │ │ │ └── SigningKey.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeFactory │ │ └── test │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── client │ │ │ └── auth │ │ │ └── scheme │ │ │ └── sigv4 │ │ │ ├── SigV4TestRunner.java │ │ │ ├── SignerCacheTest.java │ │ │ ├── SigningKeyTest.java │ │ │ └── Sigv4Tests.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── client │ │ └── auth │ │ └── scheme │ │ └── sigv4 │ │ └── signing │ │ ├── get-header-value-trim │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-relative-normalized │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-relative-relative-normalized │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-skip-header │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-slash-dot-slash-normalized │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-slash-normalized │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-slash-pointless-dot-normalized │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-slashes-normalized │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-unreserved │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-utf8 │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-vanilla-empty-query-key │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-vanilla-query-order-key-case │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-vanilla-query-unreserved │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-vanilla-utf8-query │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-vanilla-with-session-token │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── get-vanilla │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── post-header-key-sort │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── post-header-value-case │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── post-sts-header-before │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── post-vanilla-empty-query-value │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── post-vanilla-query │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ ├── post-vanilla │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt │ │ └── post-x-www-form-urlencoded-params │ │ ├── context.json │ │ ├── request.txt │ │ └── signed.txt ├── client │ ├── aws-client-awsjson │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── it │ │ │ └── java │ │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── client │ │ │ │ └── aws │ │ │ │ └── jsonprotocols │ │ │ │ └── AwsJson1ProtocolTests.java │ │ │ └── main │ │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── client │ │ │ │ └── awsjson │ │ │ │ ├── AwsJson11Protocol.java │ │ │ │ ├── AwsJson1Protocol.java │ │ │ │ └── AwsJsonProtocol.java │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.java.client.core.ClientProtocolFactory │ ├── aws-client-core │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── client │ │ │ │ └── core │ │ │ │ ├── identity │ │ │ │ ├── EnvironmentVariableIdentityResolver.java │ │ │ │ └── SystemPropertiesIdentityResolver.java │ │ │ │ └── settings │ │ │ │ └── RegionSetting.java │ │ │ └── test │ │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── client │ │ │ └── core │ │ │ └── identity │ │ │ ├── EnvironmentVariableIdentityResolverTest.java │ │ │ └── SystemPropertiesIdentityResolverTest.java │ ├── aws-client-http │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── client │ │ │ │ └── http │ │ │ │ ├── AmzSdkRequestPlugin.java │ │ │ │ └── RecursionDetectionPlugin.java │ │ │ └── test │ │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── client │ │ │ └── http │ │ │ ├── AmzSdkRequestPluginTest.java │ │ │ ├── RecursionDetectionPluginTest.java │ │ │ └── TestHarness.java │ ├── aws-client-restjson │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── it │ │ │ └── java │ │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── client │ │ │ │ └── aws │ │ │ │ └── restjson │ │ │ │ └── RestJson1ProtocolTests.java │ │ │ └── main │ │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── client │ │ │ │ └── restjson │ │ │ │ └── RestJsonClientProtocol.java │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.java.client.core.ClientProtocolFactory │ └── aws-client-restxml │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ ├── it │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── client │ │ │ └── restxml │ │ │ └── RestXmlProtocolTests.java │ │ └── main │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── client │ │ │ └── restxml │ │ │ └── RestXmlClientProtocol.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── software.amazon.smithy.java.client.core.ClientProtocolFactory ├── integrations │ └── aws-lambda-endpoint │ │ ├── build.gradle.kts │ │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── integrations │ │ └── lambda │ │ ├── LambdaEndpoint.java │ │ ├── ProxyRequest.java │ │ ├── ProxyResponse.java │ │ ├── RequestContext.java │ │ └── SmithyServiceProvider.java ├── sdkv2 │ ├── aws-sdkv2-auth │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── sdkv2 │ │ │ │ └── auth │ │ │ │ └── SdkCredentialsResolver.java │ │ │ └── test │ │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── sdkv2 │ │ │ └── auth │ │ │ └── SdkCredentialsResolverTest.java │ ├── aws-sdkv2-retries │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── sdkv2 │ │ │ │ └── retries │ │ │ │ ├── SdkRetryStrategy.java │ │ │ │ └── SdkRetryToken.java │ │ │ └── test │ │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── aws │ │ │ └── sdkv2 │ │ │ └── retries │ │ │ └── SdkRetryStrategyTest.java │ └── aws-sdkv2-shapes │ │ ├── build.gradle.kts │ │ └── src │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── aws │ │ │ │ └── sdkv2 │ │ │ │ └── shapes │ │ │ │ ├── AwsJsonProtocols.java │ │ │ │ ├── DocumentConverter.java │ │ │ │ ├── SdkJsonDocumentParser.java │ │ │ │ └── SdkJsonDocumentVisitor.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.java.aws.sdkv2.shapes.DocumentConverter │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── sdkv2 │ │ └── shapes │ │ ├── SdkDocumentReaderTest.java │ │ └── SdkDocumentWriterTest.java └── server │ └── aws-server-restjson │ ├── README.md │ ├── build.gradle.kts │ └── src │ ├── it │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── server │ │ └── restjson │ │ └── AwsRestJson1ProtocolTests.java │ └── main │ ├── java │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── aws │ │ └── server │ │ └── restjson │ │ ├── AwsRestJson1Protocol.java │ │ ├── AwsRestJson1ProtocolProvider.java │ │ └── router │ │ ├── BasicPathRouteMatcher.java │ │ ├── CompositeMatch.java │ │ ├── EmptySegmentPathRouteMatcher.java │ │ ├── EmptySegmentUriRouteMatcher.java │ │ ├── LabelHelper.java │ │ ├── LabelValues.java │ │ ├── LabelValuesMatch.java │ │ ├── Match.java │ │ ├── MemoizingSupplier.java │ │ ├── NullMatch.java │ │ ├── PathPattern.java │ │ ├── QueryPattern.java │ │ ├── QueryStringRouteMatcher.java │ │ ├── RouteMatcher.java │ │ ├── TreeNode.java │ │ ├── UriMatcherMap.java │ │ ├── UriMatcherMapBuilder.java │ │ ├── UriPattern.java │ │ ├── UriRouteMatcher.java │ │ ├── UriTreeMatcherMap.java │ │ ├── UriTreeMatcherMapBuilder.java │ │ └── ValuedMatch.java │ └── resources │ └── META-INF │ └── services │ └── software.amazon.smithy.java.server.core.ServerProtocolProvider ├── build.gradle.kts ├── buildSrc ├── build.gradle.kts ├── gradle.properties ├── settings.gradle └── src │ └── main │ └── kotlin │ ├── CodegenExtension.kt │ ├── smithy-java.codegen-plugin-conventions.gradle.kts │ ├── smithy-java.integ-test-conventions.gradle.kts │ ├── smithy-java.java-conventions.gradle.kts │ ├── smithy-java.module-conventions.gradle.kts │ ├── smithy-java.protocol-testing-conventions.gradle.kts │ ├── smithy-java.publishing-conventions.gradle.kts │ └── smithy-java.utilities.gradle.kts ├── cli ├── README.md ├── build.gradle.kts └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── cli │ │ ├── ProtocolType.java │ │ ├── SmithyCall.java │ │ ├── SmithyCallRunner.java │ │ └── package-info.java │ ├── resource-config.json │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── cli │ └── SmithyCallTest.java ├── client ├── client-auth-api │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── client │ │ └── core │ │ └── auth │ │ └── scheme │ │ ├── AuthScheme.java │ │ ├── AuthSchemeFactory.java │ │ ├── AuthSchemeOption.java │ │ ├── AuthSchemeRecord.java │ │ ├── AuthSchemeResolver.java │ │ ├── AuthSchemeResolverParams.java │ │ └── NoAuthAuthScheme.java ├── client-core │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── client │ │ │ └── core │ │ │ ├── CallContext.java │ │ │ ├── Client.java │ │ │ ├── ClientCall.java │ │ │ ├── ClientConfig.java │ │ │ ├── ClientPipeline.java │ │ │ ├── ClientPlugin.java │ │ │ ├── ClientProtocol.java │ │ │ ├── ClientProtocolFactory.java │ │ │ ├── ClientSetting.java │ │ │ ├── ClientTransport.java │ │ │ ├── ClientTransportFactory.java │ │ │ ├── FeatureId.java │ │ │ ├── MessageExchange.java │ │ │ ├── ProtocolSettings.java │ │ │ ├── RequestOverrideConfig.java │ │ │ ├── endpoint │ │ │ ├── Endpoint.java │ │ │ ├── EndpointAuthScheme.java │ │ │ ├── EndpointAuthSchemeImpl.java │ │ │ ├── EndpointImpl.java │ │ │ ├── EndpointResolver.java │ │ │ ├── EndpointResolverParams.java │ │ │ ├── HostLabelEndpointResolver.java │ │ │ └── HostLabelSerializer.java │ │ │ ├── error │ │ │ ├── ConnectTimeoutException.java │ │ │ ├── ConnectionAcquireTimeoutException.java │ │ │ ├── ConnectionClosedException.java │ │ │ ├── TlsException.java │ │ │ ├── TransportException.java │ │ │ ├── TransportProtocolException.java │ │ │ ├── TransportSocketException.java │ │ │ └── TransportSocketTimeout.java │ │ │ ├── interceptors │ │ │ ├── CallHook.java │ │ │ ├── ClientInterceptor.java │ │ │ ├── ClientInterceptorChain.java │ │ │ ├── InputHook.java │ │ │ ├── OutputHook.java │ │ │ ├── RequestHook.java │ │ │ └── ResponseHook.java │ │ │ ├── package-info.java │ │ │ ├── pagination │ │ │ ├── AsyncPaginator.java │ │ │ ├── DefaultAsyncPaginator.java │ │ │ ├── DefaultSyncPaginator.java │ │ │ ├── PaginationInputSetter.java │ │ │ ├── PaginationTokenExtractor.java │ │ │ ├── Paginator.java │ │ │ └── PaginatorSettings.java │ │ │ ├── plugins │ │ │ ├── ApplyModelRetryInfoPlugin.java │ │ │ ├── DefaultPlugin.java │ │ │ ├── ExceptionMapper.java │ │ │ └── InjectIdempotencyTokenPlugin.java │ │ │ └── settings │ │ │ └── ClockSetting.java │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── client │ │ └── core │ │ ├── ClientPipelineTest.java │ │ ├── ClientTest.java │ │ ├── auth │ │ └── identity │ │ │ └── IdentityResolverTest.java │ │ ├── endpoint │ │ └── EndpointResolverTest.java │ │ ├── interceptors │ │ ├── InputHookTest.java │ │ ├── OutputHookTest.java │ │ ├── RequestHookTest.java │ │ ├── ResponseHookTest.java │ │ └── TestStructs.java │ │ ├── pagination │ │ ├── AsyncPaginationTest.java │ │ ├── MockClient.java │ │ ├── PaginationTest.java │ │ └── models │ │ │ ├── GetFoosInput.java │ │ │ ├── GetFoosOutput.java │ │ │ ├── PaginationService.java │ │ │ ├── ResultWrapper.java │ │ │ └── TestOperationPaginated.java │ │ └── plugins │ │ ├── ApplyModelRetryInfoPluginTest.java │ │ └── InjectIdempotencyTokenPluginTest.java ├── client-http-binding │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── client │ │ │ └── http │ │ │ └── binding │ │ │ ├── HttpBindingClientProtocol.java │ │ │ ├── HttpBindingErrorFactory.java │ │ │ └── package-info.java │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── client │ │ └── http │ │ └── binding │ │ └── HttpBindingErrorDeserializerTest.java ├── client-http │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── client │ │ │ │ └── http │ │ │ │ ├── AmznErrorHeaderExtractor.java │ │ │ │ ├── HttpClientDataStream.java │ │ │ │ ├── HttpClientProtocol.java │ │ │ │ ├── HttpContext.java │ │ │ │ ├── HttpErrorDeserializer.java │ │ │ │ ├── HttpMessageExchange.java │ │ │ │ ├── JavaHttpClientTransport.java │ │ │ │ ├── auth │ │ │ │ ├── HttpApiKeyAuthScheme.java │ │ │ │ ├── HttpApiKeyAuthSigner.java │ │ │ │ ├── HttpBasicAuthAuthScheme.java │ │ │ │ ├── HttpBasicAuthSigner.java │ │ │ │ ├── HttpBearerAuthScheme.java │ │ │ │ ├── HttpBearerAuthSigner.java │ │ │ │ ├── HttpDigestAuthAuthScheme.java │ │ │ │ └── HttpDigestAuthSigner.java │ │ │ │ ├── package-info.java │ │ │ │ └── plugins │ │ │ │ ├── ApplyHttpRetryInfoPlugin.java │ │ │ │ └── UserAgentPlugin.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ ├── software.amazon.smithy.java.client.core.ClientTransportFactory │ │ │ └── software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeFactory │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── client │ │ └── http │ │ ├── AmznErrorHeaderExtractorTest.java │ │ ├── HttpClientDataStreamTest.java │ │ ├── HttpErrorDeserializerTest.java │ │ ├── JavaHttpClientTest.java │ │ ├── auth │ │ ├── HttpApiKeyAuthSignerTest.java │ │ ├── HttpBasicAuthSignerTest.java │ │ └── HttpBearerAuthSignerTest.java │ │ └── plugins │ │ ├── ApplyHttpRetryInfoPluginTest.java │ │ └── UserAgentPluginTest.java ├── client-mock-plugin │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── client │ │ │ └── http │ │ │ └── mock │ │ │ ├── CurrentRequest.java │ │ │ ├── MatcherRequest.java │ │ │ ├── MockPlugin.java │ │ │ ├── MockQueue.java │ │ │ ├── MockService.java │ │ │ ├── MockedRequest.java │ │ │ └── MockedResult.java │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── client │ │ └── http │ │ └── mock │ │ └── MockPluginTest.java ├── client-rpcv2-cbor │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── it │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── client │ │ │ └── rpcv2 │ │ │ └── RpcV2CborProtocolTests.java │ │ └── main │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── client │ │ │ └── rpcv2 │ │ │ └── RpcV2CborProtocol.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── software.amazon.smithy.java.client.core.ClientProtocolFactory ├── client-waiters │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── client │ │ │ └── waiters │ │ │ ├── Acceptor.java │ │ │ ├── Waiter.java │ │ │ ├── WaiterFailureException.java │ │ │ ├── WaiterSettings.java │ │ │ ├── WaiterState.java │ │ │ ├── backoff │ │ │ ├── BackoffStrategy.java │ │ │ └── DefaultBackoffStrategy.java │ │ │ ├── jmespath │ │ │ ├── Comparator.java │ │ │ ├── InputOutputAwareJMESPathDocumentVisitor.java │ │ │ ├── JMESPathBiPredicate.java │ │ │ └── JMESPathPredicate.java │ │ │ └── matching │ │ │ ├── ErrorTypeMatcher.java │ │ │ ├── InputOutputMatcher.java │ │ │ ├── Matcher.java │ │ │ ├── OutputMatcher.java │ │ │ └── SuccessMatcher.java │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── client │ │ └── waiters │ │ ├── MockClient.java │ │ ├── TestWaiters.java │ │ ├── jmespath │ │ ├── TestJMESPathMatcher.java │ │ └── TestWaiterDelegator.java │ │ └── models │ │ ├── GetFoosInput.java │ │ ├── GetFoosOutput.java │ │ ├── TestOperationWaitable.java │ │ └── WaiterApiService.java └── dynamic-client │ ├── README.md │ ├── build.gradle.kts │ └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── dynamicclient │ │ ├── DocumentException.java │ │ ├── DynamicClient.java │ │ ├── DynamicOperation.java │ │ └── package-info.java │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── dynamicclient │ ├── DynamicClientTest.java │ └── DynamicOperationTest.java ├── codecs ├── cbor-codec │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── cbor │ │ │ ├── BadCborException.java │ │ │ ├── CborConstants.java │ │ │ ├── CborDeserializer.java │ │ │ ├── CborDocuments.java │ │ │ ├── CborParser.java │ │ │ ├── CborReadUtil.java │ │ │ ├── CborSerdeProvider.java │ │ │ ├── CborSerializer.java │ │ │ ├── CborSettings.java │ │ │ ├── DefaultCborSerdeProvider.java │ │ │ ├── Rpcv2CborCodec.java │ │ │ └── Sink.java │ │ ├── test │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── cbor │ │ │ ├── CborDocumentTest.java │ │ │ ├── CborParserTest.java │ │ │ ├── CborSerializerTest.java │ │ │ └── CborTestData.java │ │ └── testFixtures │ │ └── java │ │ └── software │ │ └── amazon │ │ └── java │ │ └── cbor │ │ └── CborComparator.java ├── json-codec │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── json │ │ │ │ ├── JsonCodec.java │ │ │ │ ├── JsonDocuments.java │ │ │ │ ├── JsonFieldMapper.java │ │ │ │ ├── JsonSerdeProvider.java │ │ │ │ ├── JsonSettings.java │ │ │ │ ├── TimestampResolver.java │ │ │ │ ├── jackson │ │ │ │ ├── JacksonJsonDeserializer.java │ │ │ │ ├── JacksonJsonSerdeProvider.java │ │ │ │ ├── JacksonJsonSerializer.java │ │ │ │ └── SerializedStringCache.java │ │ │ │ └── package-info.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.java.json.JsonSerdeProvider │ │ └── test │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── json │ │ │ ├── JsonDeserializerTest.java │ │ │ ├── JsonDocumentTest.java │ │ │ ├── JsonSerializerTest.java │ │ │ ├── JsonTestData.java │ │ │ └── ParsingTest.java │ │ └── resources │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── json │ │ └── tests │ │ └── test_parsing │ │ ├── LICENSE │ │ ├── i_number_double_huge_neg_exp.json │ │ ├── i_number_huge_exp.json │ │ ├── i_number_neg_int_huge_exp.json │ │ ├── i_number_pos_double_huge_exp.json │ │ ├── i_number_real_neg_overflow.json │ │ ├── i_number_real_pos_overflow.json │ │ ├── i_number_real_underflow.json │ │ ├── i_number_too_big_neg_int.json │ │ ├── i_number_too_big_pos_int.json │ │ ├── i_number_very_big_negative_int.json │ │ ├── i_object_key_lone_2nd_surrogate.json │ │ ├── i_string_1st_surrogate_but_2nd_missing.json │ │ ├── i_string_1st_valid_surrogate_2nd_invalid.json │ │ ├── i_string_UTF-16LE_with_BOM.json │ │ ├── i_string_UTF-8_invalid_sequence.json │ │ ├── i_string_UTF8_surrogate_U+D800.json │ │ ├── i_string_incomplete_surrogate_and_escape_valid.json │ │ ├── i_string_incomplete_surrogate_pair.json │ │ ├── i_string_incomplete_surrogates_escape_valid.json │ │ ├── i_string_invalid_lonely_surrogate.json │ │ ├── i_string_invalid_surrogate.json │ │ ├── i_string_invalid_utf-8.json │ │ ├── i_string_inverted_surrogates_U+1D11E.json │ │ ├── i_string_iso_latin_1.json │ │ ├── i_string_lone_second_surrogate.json │ │ ├── i_string_lone_utf8_continuation_byte.json │ │ ├── i_string_not_in_unicode_range.json │ │ ├── i_string_overlong_sequence_2_bytes.json │ │ ├── i_string_overlong_sequence_6_bytes.json │ │ ├── i_string_overlong_sequence_6_bytes_null.json │ │ ├── i_string_truncated-utf-8.json │ │ ├── i_string_utf16BE_no_BOM.json │ │ ├── i_string_utf16LE_no_BOM.json │ │ ├── i_structure_500_nested_arrays.json │ │ ├── i_structure_UTF-8_BOM_empty_object.json │ │ ├── n_array_1_true_without_comma.json │ │ ├── n_array_a_invalid_utf8.json │ │ ├── n_array_colon_instead_of_comma.json │ │ ├── n_array_comma_after_close.json │ │ ├── n_array_comma_and_number.json │ │ ├── n_array_double_comma.json │ │ ├── n_array_double_extra_comma.json │ │ ├── n_array_extra_close.json │ │ ├── n_array_extra_comma.json │ │ ├── n_array_incomplete.json │ │ ├── n_array_incomplete_invalid_value.json │ │ ├── n_array_inner_array_no_comma.json │ │ ├── n_array_invalid_utf8.json │ │ ├── n_array_items_separated_by_semicolon.json │ │ ├── n_array_just_comma.json │ │ ├── n_array_just_minus.json │ │ ├── n_array_missing_value.json │ │ ├── n_array_newlines_unclosed.json │ │ ├── n_array_number_and_comma.json │ │ ├── n_array_number_and_several_commas.json │ │ ├── n_array_spaces_vertical_tab_formfeed.json │ │ ├── n_array_star_inside.json │ │ ├── n_array_unclosed.json │ │ ├── n_array_unclosed_trailing_comma.json │ │ ├── n_array_unclosed_with_new_lines.json │ │ ├── n_array_unclosed_with_object_inside.json │ │ ├── n_incomplete_false.json │ │ ├── n_incomplete_null.json │ │ ├── n_incomplete_true.json │ │ ├── n_multidigit_number_then_00.json │ │ ├── n_number_++.json │ │ ├── n_number_+1.json │ │ ├── n_number_+Inf.json │ │ ├── n_number_-01.json │ │ ├── n_number_-1.0..json │ │ ├── n_number_-2..json │ │ ├── n_number_-NaN.json │ │ ├── n_number_.-1.json │ │ ├── n_number_.2e-3.json │ │ ├── n_number_0.1.2.json │ │ ├── n_number_0.3e+.json │ │ ├── n_number_0.3e.json │ │ ├── n_number_0.e1.json │ │ ├── n_number_0_capital_E+.json │ │ ├── n_number_0_capital_E.json │ │ ├── n_number_0e+.json │ │ ├── n_number_0e.json │ │ ├── n_number_1.0e+.json │ │ ├── n_number_1.0e-.json │ │ ├── n_number_1.0e.json │ │ ├── n_number_1_000.json │ │ ├── n_number_1eE2.json │ │ ├── n_number_2.e+3.json │ │ ├── n_number_2.e-3.json │ │ ├── n_number_2.e3.json │ │ ├── n_number_9.e+.json │ │ ├── n_number_Inf.json │ │ ├── n_number_NaN.json │ │ ├── n_number_U+FF11_fullwidth_digit_one.json │ │ ├── n_number_expression.json │ │ ├── n_number_hex_1_digit.json │ │ ├── n_number_hex_2_digits.json │ │ ├── n_number_infinity.json │ │ ├── n_number_invalid+-.json │ │ ├── n_number_invalid-negative-real.json │ │ ├── n_number_invalid-utf-8-in-bigger-int.json │ │ ├── n_number_invalid-utf-8-in-exponent.json │ │ ├── n_number_invalid-utf-8-in-int.json │ │ ├── n_number_minus_infinity.json │ │ ├── n_number_minus_sign_with_trailing_garbage.json │ │ ├── n_number_minus_space_1.json │ │ ├── n_number_neg_int_starting_with_zero.json │ │ ├── n_number_neg_real_without_int_part.json │ │ ├── n_number_neg_with_garbage_at_end.json │ │ ├── n_number_real_garbage_after_e.json │ │ ├── n_number_real_with_invalid_utf8_after_e.json │ │ ├── n_number_real_without_fractional_part.json │ │ ├── n_number_starting_with_dot.json │ │ ├── n_number_with_alpha.json │ │ ├── n_number_with_alpha_char.json │ │ ├── n_number_with_leading_zero.json │ │ ├── n_object_bad_value.json │ │ ├── n_object_bracket_key.json │ │ ├── n_object_comma_instead_of_colon.json │ │ ├── n_object_double_colon.json │ │ ├── n_object_emoji.json │ │ ├── n_object_garbage_at_end.json │ │ ├── n_object_key_with_single_quotes.json │ │ ├── n_object_lone_continuation_byte_in_key_and_trailing_comma.json │ │ ├── n_object_missing_colon.json │ │ ├── n_object_missing_key.json │ │ ├── n_object_missing_semicolon.json │ │ ├── n_object_missing_value.json │ │ ├── n_object_no-colon.json │ │ ├── n_object_non_string_key.json │ │ ├── n_object_non_string_key_but_huge_number_instead.json │ │ ├── n_object_repeated_null_null.json │ │ ├── n_object_several_trailing_commas.json │ │ ├── n_object_single_quote.json │ │ ├── n_object_trailing_comma.json │ │ ├── n_object_trailing_comment.json │ │ ├── n_object_trailing_comment_open.json │ │ ├── n_object_trailing_comment_slash_open.json │ │ ├── n_object_trailing_comment_slash_open_incomplete.json │ │ ├── n_object_two_commas_in_a_row.json │ │ ├── n_object_unquoted_key.json │ │ ├── n_object_unterminated-value.json │ │ ├── n_object_with_single_string.json │ │ ├── n_object_with_trailing_garbage.json │ │ ├── n_single_space.json │ │ ├── n_string_1_surrogate_then_escape.json │ │ ├── n_string_1_surrogate_then_escape_u.json │ │ ├── n_string_1_surrogate_then_escape_u1.json │ │ ├── n_string_1_surrogate_then_escape_u1x.json │ │ ├── n_string_accentuated_char_no_quotes.json │ │ ├── n_string_backslash_00.json │ │ ├── n_string_escape_x.json │ │ ├── n_string_escaped_backslash_bad.json │ │ ├── n_string_escaped_ctrl_char_tab.json │ │ ├── n_string_escaped_emoji.json │ │ ├── n_string_incomplete_escape.json │ │ ├── n_string_incomplete_escaped_character.json │ │ ├── n_string_incomplete_surrogate.json │ │ ├── n_string_incomplete_surrogate_escape_invalid.json │ │ ├── n_string_invalid-utf-8-in-escape.json │ │ ├── n_string_invalid_backslash_esc.json │ │ ├── n_string_invalid_unicode_escape.json │ │ ├── n_string_invalid_utf8_after_escape.json │ │ ├── n_string_leading_uescaped_thinspace.json │ │ ├── n_string_no_quotes_with_bad_escape.json │ │ ├── n_string_single_doublequote.json │ │ ├── n_string_single_quote.json │ │ ├── n_string_single_string_no_double_quotes.json │ │ ├── n_string_start_escape_unclosed.json │ │ ├── n_string_unescaped_ctrl_char.json │ │ ├── n_string_unescaped_newline.json │ │ ├── n_string_unescaped_tab.json │ │ ├── n_string_unicode_CapitalU.json │ │ ├── n_string_with_trailing_garbage.json │ │ ├── n_structure_100000_opening_arrays.json │ │ ├── n_structure_U+2060_word_joined.json │ │ ├── n_structure_UTF8_BOM_no_data.json │ │ ├── n_structure_angle_bracket_..json │ │ ├── n_structure_angle_bracket_null.json │ │ ├── n_structure_array_trailing_garbage.json │ │ ├── n_structure_array_with_extra_array_close.json │ │ ├── n_structure_array_with_unclosed_string.json │ │ ├── n_structure_ascii-unicode-identifier.json │ │ ├── n_structure_capitalized_True.json │ │ ├── n_structure_close_unopened_array.json │ │ ├── n_structure_comma_instead_of_closing_brace.json │ │ ├── n_structure_double_array.json │ │ ├── n_structure_end_array.json │ │ ├── n_structure_incomplete_UTF8_BOM.json │ │ ├── n_structure_lone-invalid-utf-8.json │ │ ├── n_structure_lone-open-bracket.json │ │ ├── n_structure_no_data.json │ │ ├── n_structure_null-byte-outside-string.json │ │ ├── n_structure_number_with_trailing_garbage.json │ │ ├── n_structure_object_followed_by_closing_object.json │ │ ├── n_structure_object_unclosed_no_value.json │ │ ├── n_structure_object_with_comment.json │ │ ├── n_structure_object_with_trailing_garbage.json │ │ ├── n_structure_open_array_apostrophe.json │ │ ├── n_structure_open_array_comma.json │ │ ├── n_structure_open_array_object.json │ │ ├── n_structure_open_array_open_object.json │ │ ├── n_structure_open_array_open_string.json │ │ ├── n_structure_open_array_string.json │ │ ├── n_structure_open_object.json │ │ ├── n_structure_open_object_close_array.json │ │ ├── n_structure_open_object_comma.json │ │ ├── n_structure_open_object_open_array.json │ │ ├── n_structure_open_object_open_string.json │ │ ├── n_structure_open_object_string_with_apostrophes.json │ │ ├── n_structure_open_open.json │ │ ├── n_structure_single_eacute.json │ │ ├── n_structure_single_star.json │ │ ├── n_structure_trailing_#.json │ │ ├── n_structure_uescaped_LF_before_string.json │ │ ├── n_structure_unclosed_array.json │ │ ├── n_structure_unclosed_array_partial_null.json │ │ ├── n_structure_unclosed_array_unfinished_false.json │ │ ├── n_structure_unclosed_array_unfinished_true.json │ │ ├── n_structure_unclosed_object.json │ │ ├── n_structure_unicode-identifier.json │ │ ├── n_structure_whitespace_U+2060_word_joiner.json │ │ ├── n_structure_whitespace_formfeed.json │ │ ├── y_array_arraysWithSpaces.json │ │ ├── y_array_empty-string.json │ │ ├── y_array_empty.json │ │ ├── y_array_ending_with_newline.json │ │ ├── y_array_false.json │ │ ├── y_array_heterogeneous.json │ │ ├── y_array_null.json │ │ ├── y_array_with_1_and_newline.json │ │ ├── y_array_with_leading_space.json │ │ ├── y_array_with_several_null.json │ │ ├── y_array_with_trailing_space.json │ │ ├── y_number.json │ │ ├── y_number_0e+1.json │ │ ├── y_number_0e1.json │ │ ├── y_number_after_space.json │ │ ├── y_number_double_close_to_zero.json │ │ ├── y_number_int_with_exp.json │ │ ├── y_number_minus_zero.json │ │ ├── y_number_negative_int.json │ │ ├── y_number_negative_one.json │ │ ├── y_number_negative_zero.json │ │ ├── y_number_real_capital_e.json │ │ ├── y_number_real_capital_e_neg_exp.json │ │ ├── y_number_real_capital_e_pos_exp.json │ │ ├── y_number_real_exponent.json │ │ ├── y_number_real_fraction_exponent.json │ │ ├── y_number_real_neg_exp.json │ │ ├── y_number_real_pos_exponent.json │ │ ├── y_number_simple_int.json │ │ ├── y_number_simple_real.json │ │ ├── y_object.json │ │ ├── y_object_basic.json │ │ ├── y_object_duplicated_key.json │ │ ├── y_object_duplicated_key_and_value.json │ │ ├── y_object_empty.json │ │ ├── y_object_empty_key.json │ │ ├── y_object_escaped_null_in_key.json │ │ ├── y_object_extreme_numbers.json │ │ ├── y_object_long_strings.json │ │ ├── y_object_simple.json │ │ ├── y_object_string_unicode.json │ │ ├── y_object_with_newlines.json │ │ ├── y_string_1_2_3_bytes_UTF-8_sequences.json │ │ ├── y_string_accepted_surrogate_pair.json │ │ ├── y_string_accepted_surrogate_pairs.json │ │ ├── y_string_allowed_escapes.json │ │ ├── y_string_backslash_and_u_escaped_zero.json │ │ ├── y_string_backslash_doublequotes.json │ │ ├── y_string_comments.json │ │ ├── y_string_double_escape_a.json │ │ ├── y_string_double_escape_n.json │ │ ├── y_string_escaped_control_character.json │ │ ├── y_string_escaped_noncharacter.json │ │ ├── y_string_in_array.json │ │ ├── y_string_in_array_with_leading_space.json │ │ ├── y_string_last_surrogates_1_and_2.json │ │ ├── y_string_nbsp_uescaped.json │ │ ├── y_string_nonCharacterInUTF-8_U+10FFFF.json │ │ ├── y_string_nonCharacterInUTF-8_U+FFFF.json │ │ ├── y_string_null_escape.json │ │ ├── y_string_one-byte-utf-8.json │ │ ├── y_string_pi.json │ │ ├── y_string_reservedCharacterInUTF-8_U+1BFFF.json │ │ ├── y_string_simple_ascii.json │ │ ├── y_string_space.json │ │ ├── y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json │ │ ├── y_string_three-byte-utf-8.json │ │ ├── y_string_two-byte-utf-8.json │ │ ├── y_string_u+2028_line_sep.json │ │ ├── y_string_u+2029_par_sep.json │ │ ├── y_string_uEscape.json │ │ ├── y_string_uescaped_newline.json │ │ ├── y_string_unescaped_char_delete.json │ │ ├── y_string_unicode.json │ │ ├── y_string_unicodeEscapedBackslash.json │ │ ├── y_string_unicode_2.json │ │ ├── y_string_unicode_U+10FFFE_nonchar.json │ │ ├── y_string_unicode_U+1FFFE_nonchar.json │ │ ├── y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json │ │ ├── y_string_unicode_U+2064_invisible_plus.json │ │ ├── y_string_unicode_U+FDD0_nonchar.json │ │ ├── y_string_unicode_U+FFFE_nonchar.json │ │ ├── y_string_unicode_escaped_double_quote.json │ │ ├── y_string_utf8.json │ │ ├── y_string_with_del_character.json │ │ ├── y_structure_lonely_false.json │ │ ├── y_structure_lonely_int.json │ │ ├── y_structure_lonely_negative_real.json │ │ ├── y_structure_lonely_null.json │ │ ├── y_structure_lonely_string.json │ │ ├── y_structure_lonely_true.json │ │ ├── y_structure_string_empty.json │ │ ├── y_structure_trailing_newline.json │ │ ├── y_structure_true_in_array.json │ │ └── y_structure_whitespace_array.json └── xml-codec │ ├── README.md │ ├── build.gradle.kts │ └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── xml │ │ ├── XmlCodec.java │ │ ├── XmlDeserializer.java │ │ ├── XmlInfo.java │ │ ├── XmlReader.java │ │ └── XmlSerializer.java │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── xml │ ├── XmlCodecTest.java │ └── XmlReaderTest.java ├── codegen ├── codegen-core │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── it │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── codegen │ │ │ │ └── test │ │ │ │ ├── BuilderTest.java │ │ │ │ ├── ClientErrorCorrectionTest.java │ │ │ │ ├── DefaultsTest.java │ │ │ │ ├── EffectiveAuthSchemeTest.java │ │ │ │ ├── EnumTest.java │ │ │ │ ├── ExceptionsTest.java │ │ │ │ ├── IdempotencyTokenRequiredTest.java │ │ │ │ ├── ListsTest.java │ │ │ │ ├── MapsTest.java │ │ │ │ ├── PresenceTrackingTest.java │ │ │ │ ├── RecursionTests.java │ │ │ │ ├── ReloadClasses.java │ │ │ │ ├── ReloadClassesExtension.java │ │ │ │ ├── StructuresTest.java │ │ │ │ ├── UnionTest.java │ │ │ │ ├── Utils.java │ │ │ │ └── model │ │ │ │ └── TraitsTest.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── smithy │ │ │ ├── authScheme.smithy │ │ │ ├── common.smithy │ │ │ ├── enums │ │ │ ├── enum-tests.smithy │ │ │ ├── lower-case-variant-names.smithy │ │ │ ├── non-sequential.smithy │ │ │ └── unsafe-value-name.smithy │ │ │ ├── exceptions │ │ │ └── exception-tests.smithy │ │ │ ├── idempotencytoken │ │ │ └── idempotency-token.smithy │ │ │ ├── lists │ │ │ ├── list-all-types.smithy │ │ │ ├── list-tests.smithy │ │ │ ├── nested-lists.smithy │ │ │ ├── sparse-lists.smithy │ │ │ └── unique-items.smithy │ │ │ ├── main.smithy │ │ │ ├── manifest │ │ │ ├── maps │ │ │ ├── enum-map-keys.smithy │ │ │ ├── map-all-types.smithy │ │ │ ├── map-tests.smithy │ │ │ ├── nested-maps.smithy │ │ │ └── sparse-maps.smithy │ │ │ ├── naming │ │ │ └── naming-collision.smithy │ │ │ ├── recursion │ │ │ ├── multiple-recursion.smithy │ │ │ ├── mutual-recursion-list.smithy │ │ │ ├── mutual-recursion-map.smithy │ │ │ ├── mutual-recursion-struct.smithy │ │ │ ├── recursion-tests.smithy │ │ │ └── self-referential-shape.smithy │ │ │ ├── structures │ │ │ ├── big-decimal-members.smithy │ │ │ ├── big-integer-members.smithy │ │ │ ├── blob-members.smithy │ │ │ ├── boolean-members.smithy │ │ │ ├── byte-members.smithy │ │ │ ├── defaults.smithy │ │ │ ├── document-members.smithy │ │ │ ├── double-members.smithy │ │ │ ├── enum-members.smithy │ │ │ ├── error-correction.smithy │ │ │ ├── float-members.smithy │ │ │ ├── int-enum-members.smithy │ │ │ ├── integer-members.smithy │ │ │ ├── list-members.smithy │ │ │ ├── long-members.smithy │ │ │ ├── map-members.smithy │ │ │ ├── set-members.smithy │ │ │ ├── short-members.smithy │ │ │ ├── streaming-blob-members.smithy │ │ │ ├── string-members.smithy │ │ │ ├── structure-members.smithy │ │ │ ├── structure-tests.smithy │ │ │ ├── timestamp-members.smithy │ │ │ └── union-members.smithy │ │ │ ├── traits │ │ │ └── traits.smithy │ │ │ └── unions │ │ │ ├── union-tests.smithy │ │ │ └── unions-all-types.smithy │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── codegen │ │ │ │ ├── CodeGenerationContext.java │ │ │ │ ├── CodegenUtils.java │ │ │ │ ├── DefaultTransforms.java │ │ │ │ ├── JavaCodegenIntegration.java │ │ │ │ ├── JavaCodegenSettings.java │ │ │ │ ├── JavaSymbolProvider.java │ │ │ │ ├── SmithyJavaCodegenEdition.java │ │ │ │ ├── SymbolProperties.java │ │ │ │ ├── TraitInitializer.java │ │ │ │ ├── generators │ │ │ │ ├── ApiServiceGenerator.java │ │ │ │ ├── BuilderGenerator.java │ │ │ │ ├── DeserializerGenerator.java │ │ │ │ ├── EnumGenerator.java │ │ │ │ ├── GetMemberValueGenerator.java │ │ │ │ ├── IdStringGenerator.java │ │ │ │ ├── ListGenerator.java │ │ │ │ ├── MapGenerator.java │ │ │ │ ├── OperationGenerator.java │ │ │ │ ├── ResourceGenerator.java │ │ │ │ ├── SchemaFieldGenerator.java │ │ │ │ ├── SchemaFieldOrder.java │ │ │ │ ├── SchemasGenerator.java │ │ │ │ ├── SerializerMemberGenerator.java │ │ │ │ ├── ServiceExceptionGenerator.java │ │ │ │ ├── SharedSerdeGenerator.java │ │ │ │ ├── StructureDeserializerGenerator.java │ │ │ │ ├── StructureGenerator.java │ │ │ │ ├── StructureSerializerGenerator.java │ │ │ │ ├── SyntheticTrait.java │ │ │ │ ├── ToStringGenerator.java │ │ │ │ ├── TraitInitializerGenerator.java │ │ │ │ ├── TypeEnumGenerator.java │ │ │ │ ├── TypeRegistryGenerator.java │ │ │ │ └── UnionGenerator.java │ │ │ │ ├── integrations │ │ │ │ ├── core │ │ │ │ │ ├── AnnotationTraitInitializer.java │ │ │ │ │ ├── CoreIntegration.java │ │ │ │ │ ├── DefaultTraitInitializer.java │ │ │ │ │ ├── EndpointTraitInitializer.java │ │ │ │ │ ├── GenericTraitInitializer.java │ │ │ │ │ ├── HttpApiKeyAuthTraitInitializer.java │ │ │ │ │ ├── HttpErrorTraitInitializer.java │ │ │ │ │ ├── HttpTraitInitializer.java │ │ │ │ │ ├── LengthTraitInitializer.java │ │ │ │ │ ├── NodeWriter.java │ │ │ │ │ ├── PaginatedTraitInitializer.java │ │ │ │ │ ├── RangeTraitInitializer.java │ │ │ │ │ ├── RequestCompressionTraitInitializer.java │ │ │ │ │ ├── RetryableTraitInitializer.java │ │ │ │ │ ├── StringListTraitInitializer.java │ │ │ │ │ ├── StringTraitInitializer.java │ │ │ │ │ └── XmlNamespaceTraitInitializer.java │ │ │ │ ├── externaltypes │ │ │ │ │ └── ExternalTypesIntegration.java │ │ │ │ └── javadoc │ │ │ │ │ ├── BuilderSetterDocumentationInterceptor.java │ │ │ │ │ ├── DeprecatedTraitInterceptor.java │ │ │ │ │ ├── DocumentationTraitInterceptor.java │ │ │ │ │ ├── ExternalDocumentationTraitInterceptor.java │ │ │ │ │ ├── JavadocFormatterInterceptor.java │ │ │ │ │ ├── JavadocInjectorInterceptor.java │ │ │ │ │ ├── JavadocIntegration.java │ │ │ │ │ ├── OperationErrorInterceptor.java │ │ │ │ │ ├── SinceTraitInterceptor.java │ │ │ │ │ └── SmithyGeneratedInterceptor.java │ │ │ │ ├── sections │ │ │ │ ├── ApplyDocumentation.java │ │ │ │ ├── BuilderSetterSection.java │ │ │ │ ├── ClassSection.java │ │ │ │ ├── DocumentedSection.java │ │ │ │ ├── EnumVariantSection.java │ │ │ │ ├── GetterSection.java │ │ │ │ ├── JavadocSection.java │ │ │ │ └── OperationSection.java │ │ │ │ └── writer │ │ │ │ ├── DeferredSymbolWriter.java │ │ │ │ ├── JavaImportContainer.java │ │ │ │ └── JavaWriter.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── services │ │ │ │ └── software.amazon.smithy.java.codegen.JavaCodegenIntegration │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── codegen │ │ │ ├── object-reserved-members.txt │ │ │ ├── reserved-words.txt │ │ │ ├── smithy-reserved-members.txt │ │ │ └── smithy-reserved-methods.txt │ │ └── test │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── codegen │ │ │ ├── CodegenContextTest.java │ │ │ ├── CodegenUtilsTest.java │ │ │ ├── NamingTest.java │ │ │ ├── NonNullAnnotationTest.java │ │ │ ├── RelativeDeprecationFilteringTest.java │ │ │ ├── SchemasTest.java │ │ │ ├── TestJavaCodegen.java │ │ │ ├── integrations │ │ │ ├── core │ │ │ │ └── PreludeTraitInitializerTest.java │ │ │ └── javadoc │ │ │ │ └── JavadocIntegrationTest.java │ │ │ └── utils │ │ │ ├── AbstractCodegenFileTest.java │ │ │ ├── TestJavaCodegenPlugin.java │ │ │ └── TestJavaCodegenRunner.java │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── software.amazon.smithy.model.traits.TraitService │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── codegen │ │ ├── codegen-context-test.smithy │ │ ├── integrations │ │ ├── core │ │ │ └── prelude-trait-initializer-test.smithy │ │ └── javadoc │ │ │ └── javadoc-test.smithy │ │ ├── naming-test.smithy │ │ ├── null-annotation-test.smithy │ │ └── relative-deprecated-test.smithy ├── integrations │ └── waiters-codegen │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ └── main │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── codegen │ │ │ └── client │ │ │ └── waiters │ │ │ ├── WaiterClientImplMethodInterceptor.java │ │ │ ├── WaiterClientInterfaceMethodInterceptor.java │ │ │ ├── WaiterCodegenIntegration.java │ │ │ ├── WaiterCodegenUtils.java │ │ │ ├── WaiterContainerGenerator.java │ │ │ ├── WaiterDocumentationInterceptor.java │ │ │ └── WaiterSection.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── software.amazon.smithy.java.codegen.JavaCodegenIntegration └── plugins │ ├── build.gradle.kts │ ├── client-codegen │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── it │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── codegen │ │ │ │ └── client │ │ │ │ ├── AuthSchemeTest.java │ │ │ │ ├── GenericClientTest.java │ │ │ │ └── util │ │ │ │ └── EchoServer.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── smithy │ │ │ ├── main.smithy │ │ │ ├── manifest │ │ │ └── test-auth-scheme.smithy │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── codegen │ │ │ │ └── client │ │ │ │ ├── ClientJavaSymbolProvider.java │ │ │ │ ├── ClientSymbolProperties.java │ │ │ │ ├── DirectedJavaClientCodegen.java │ │ │ │ ├── JavaClientCodegenPlugin.java │ │ │ │ ├── generators │ │ │ │ ├── ClientImplementationGenerator.java │ │ │ │ └── ClientInterfaceGenerator.java │ │ │ │ └── sections │ │ │ │ ├── ClientImplAdditionalMethodsSection.java │ │ │ │ └── ClientInterfaceAdditionalMethodsSection.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.build.SmithyBuildPlugin │ │ └── test │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── codegen │ │ │ └── client │ │ │ ├── TestAuthScheme.java │ │ │ ├── TestAuthSchemeTrait.java │ │ │ ├── TestClientPlugin.java │ │ │ ├── TestServerJavaClientCodegenRunner.java │ │ │ └── settings │ │ │ ├── AbSetting.java │ │ │ ├── Nested.java │ │ │ ├── NestedSettings.java │ │ │ └── TestSettings.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ ├── software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeFactory │ │ └── software.amazon.smithy.model.traits.TraitService │ ├── server-codegen │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── it │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── codegen │ │ │ │ └── server │ │ │ │ └── ServiceBuilderTest.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── smithy │ │ │ ├── main.smithy │ │ │ └── manifest │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── codegen │ │ │ │ └── server │ │ │ │ ├── DirectedJavaServerCodegen.java │ │ │ │ ├── JavaServerCodegenPlugin.java │ │ │ │ ├── ServerSymbolProperties.java │ │ │ │ ├── ServiceJavaSymbolProvider.java │ │ │ │ └── generators │ │ │ │ ├── OperationInterfaceGenerator.java │ │ │ │ └── ServiceGenerator.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.build.SmithyBuildPlugin │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── codegen │ │ └── server │ │ └── TestServerJavaCodegenRunner.java │ └── types-codegen │ ├── README.md │ ├── build.gradle.kts │ └── src │ ├── it │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── codegen │ │ │ └── types │ │ │ └── GenericSerdeTest.java │ └── resources │ │ └── META-INF │ │ └── smithy │ │ ├── a.smithy │ │ ├── b.smithy │ │ ├── manifest │ │ └── nested │ │ └── c.smithy │ ├── main │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── codegen │ │ │ └── types │ │ │ ├── DirectedJavaTypeCodegen.java │ │ │ ├── JavaTypeCodegenPlugin.java │ │ │ ├── SyntheticServiceTransform.java │ │ │ ├── TypeCodegenSettings.java │ │ │ └── generators │ │ │ └── TypeMappingGenerator.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── software.amazon.smithy.build.SmithyBuildPlugin │ └── test │ ├── java │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── codegen │ │ └── types │ │ ├── CodegenTest.java │ │ └── TestJavaTypeCodegenRunner.java │ └── resources │ └── software │ └── amazon │ └── smithy │ └── java │ └── codegen │ └── types │ └── types.smithy ├── config ├── logging │ └── logging.properties ├── spotbugs │ └── filter.xml └── spotless │ ├── formatting.xml │ └── license-header.txt ├── context ├── README.md ├── build.gradle.kts └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── context │ │ ├── ArrayStorageContext.java │ │ ├── Context.java │ │ ├── MapStorageContext.java │ │ └── UnmodifiableContext.java │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── context │ ├── ContextTest.java │ └── MapStorageContextTest.java ├── core ├── README.md ├── build.gradle.kts └── src │ ├── jmh │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── core │ │ ├── schema │ │ └── TraitMapBench.java │ │ └── validation │ │ └── ValidatorBench.java │ ├── main │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── core │ │ │ ├── Version.java │ │ │ ├── error │ │ │ ├── CallException.java │ │ │ ├── ErrorFault.java │ │ │ └── ModeledException.java │ │ │ ├── schema │ │ │ ├── ApiOperation.java │ │ │ ├── ApiResource.java │ │ │ ├── ApiService.java │ │ │ ├── DeferredMemberSchema.java │ │ │ ├── DeferredRootSchema.java │ │ │ ├── InputEventStreamingApiOperation.java │ │ │ ├── MemberLookup.java │ │ │ ├── MemberSchema.java │ │ │ ├── MemberSchemaBuilder.java │ │ │ ├── OutputEventStreamingApiOperation.java │ │ │ ├── PreludeSchemas.java │ │ │ ├── PresenceTracker.java │ │ │ ├── ResolvedRootSchema.java │ │ │ ├── RootSchema.java │ │ │ ├── Schema.java │ │ │ ├── SchemaBuilder.java │ │ │ ├── SchemaUtils.java │ │ │ ├── SerializableShape.java │ │ │ ├── SerializableStruct.java │ │ │ ├── ShapeBuilder.java │ │ │ ├── TraitKey.java │ │ │ ├── TraitMap.java │ │ │ ├── Unit.java │ │ │ ├── ValidationError.java │ │ │ ├── Validator.java │ │ │ ├── ValidatorOfString.java │ │ │ ├── ValidatorOfStruct.java │ │ │ ├── ValidatorOfUnion.java │ │ │ └── ValidatorOfUniqueItems.java │ │ │ └── serde │ │ │ ├── BufferingFlatMapProcessor.java │ │ │ ├── Codec.java │ │ │ ├── InterceptingSerializer.java │ │ │ ├── ListSerializer.java │ │ │ ├── MapSerializer.java │ │ │ ├── NullSerializer.java │ │ │ ├── SerializationException.java │ │ │ ├── ShapeDeserializer.java │ │ │ ├── ShapeSerializer.java │ │ │ ├── SpecificShapeDeserializer.java │ │ │ ├── SpecificShapeSerializer.java │ │ │ ├── TimestampFormatter.java │ │ │ ├── ToStringSerializer.java │ │ │ ├── TypeRegistry.java │ │ │ ├── document │ │ │ ├── DiscriminatorException.java │ │ │ ├── Document.java │ │ │ ├── DocumentDeserializer.java │ │ │ ├── DocumentEqualsFlags.java │ │ │ ├── DocumentParser.java │ │ │ ├── DocumentUtils.java │ │ │ └── Documents.java │ │ │ └── event │ │ │ ├── EventDecoder.java │ │ │ ├── EventDecoderFactory.java │ │ │ ├── EventEncoder.java │ │ │ ├── EventEncoderFactory.java │ │ │ ├── EventStreamFrameDecodingProcessor.java │ │ │ ├── EventStreamFrameEncodingProcessor.java │ │ │ ├── EventStreamingException.java │ │ │ ├── Frame.java │ │ │ ├── FrameDecoder.java │ │ │ ├── FrameEncoder.java │ │ │ └── FrameTransformer.java │ └── resources │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── core │ │ └── version.properties │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── core │ ├── TestHelper.java │ ├── VersionTest.java │ ├── schema │ ├── ApiExceptionTest.java │ ├── PresenceTrackerTest.java │ ├── SchemaTest.java │ ├── SerializableStructTest.java │ ├── TraitMapTest.java │ └── ValidatorTest.java │ ├── serde │ ├── ListSerializerTest.java │ ├── TimestampFormatterTest.java │ ├── ToStringSerializerTest.java │ ├── TypeRegistryTest.java │ └── document │ │ ├── BlobDocumentTest.java │ │ ├── BooleanDocumentTest.java │ │ ├── DocumentDeserializerTest.java │ │ ├── DocumentParserTest.java │ │ ├── DocumentTest.java │ │ ├── ListDocumentTest.java │ │ ├── MapDocumentTest.java │ │ ├── NumberDocumentTest.java │ │ ├── StringDocumentTest.java │ │ ├── TimestampDocumentTest.java │ │ ├── TypedDocumentMemberTest.java │ │ └── TypedDocumentTest.java │ └── testmodels │ ├── Bird.java │ ├── Person.java │ ├── PojoWithValidatedCollection.java │ ├── SharedSchemas.java │ ├── UnvalidatedPojo.java │ └── ValidatedPojo.java ├── dynamic-schemas ├── README.md ├── build.gradle.kts └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── dynamicschemas │ │ ├── ContentDocument.java │ │ ├── SchemaConverter.java │ │ ├── SchemaGuidedDocumentBuilder.java │ │ ├── StructDocument.java │ │ └── package-info.java │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── dynamicschemas │ ├── ContentDocumentTest.java │ ├── SchemaConverterTest.java │ ├── SchemaGuidedDocumentBuilderTest.java │ └── StructDocumentTest.java ├── examples ├── basic-server │ ├── README.md │ ├── build.gradle.kts │ ├── license.txt │ ├── model │ │ └── main.smithy │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ └── example │ │ └── BasicServerExample.java ├── build.gradle.kts ├── dynamodb-client │ ├── README.md │ ├── build.gradle.kts │ ├── model │ │ └── model.json │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ │ └── jmh │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── example │ │ └── dynamodb │ │ └── DynamoDBSerde.java ├── end-to-end │ ├── README.md │ ├── build.gradle.kts │ ├── license.txt │ ├── model │ │ ├── coffee.smithy │ │ ├── main.smithy │ │ └── order.smithy │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ │ ├── it │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── server │ │ │ └── example │ │ │ └── RoundTripTests.java │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ └── example │ │ ├── BasicServerExample.java │ │ ├── CreateOrder.java │ │ ├── GetMenu.java │ │ ├── GetOrder.java │ │ ├── Order.java │ │ └── OrderTracker.java ├── event-streaming-client │ ├── README.md │ ├── build.gradle.kts │ ├── model │ │ └── main.smithy │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ │ └── it │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── example │ │ └── eventstreaming │ │ └── EventStreamTest.java ├── gradle.properties ├── lambda │ ├── README.md │ ├── build.gradle.kts │ ├── events │ │ ├── add-beer.json │ │ └── get-beer.json │ ├── model │ │ └── main.smithy │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── example │ │ └── BeerServiceProvider.java ├── mcp-server │ ├── README.md │ ├── build.gradle.kts │ ├── license.txt │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ │ └── main │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── example │ │ │ └── server │ │ │ └── mcp │ │ │ ├── BundleMCPServerExample.java │ │ │ ├── MCPServerExample.java │ │ │ ├── ProxyMCPExample.java │ │ │ └── operations │ │ │ ├── GetCodingStatistics.java │ │ │ └── GetEmployeeDetails.java │ │ └── resources │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── example │ │ └── server │ │ └── mcp │ │ ├── dynamodb.json │ │ └── main.smithy ├── restjson-client │ ├── README.md │ ├── build.gradle.kts │ ├── license.txt │ ├── model │ │ ├── common.smithy │ │ ├── errors.smithy │ │ ├── main.smithy │ │ ├── person-image.smithy │ │ ├── person.smithy │ │ └── trials.smithy │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ │ ├── it │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── example │ │ │ └── ClientConfigTest.java │ │ ├── jmh │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ ├── BlackholeSerializer.java │ │ │ │ └── SmithyJavaTrials.java │ │ └── resources │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ ├── all_fields_optional_0.json │ │ │ ├── all_fields_optional_1.json │ │ │ ├── all_fields_optional_3.json │ │ │ ├── all_fields_optional_5.json │ │ │ ├── all_fields_optional_6.json │ │ │ ├── attribute_updates_1.json │ │ │ ├── attribute_updates_2.json │ │ │ ├── attribute_updates_3.json │ │ │ ├── send_message_request_1.json │ │ │ ├── struct_1.json │ │ │ ├── struct_2.json │ │ │ ├── struct_3.json │ │ │ └── struct_4.json │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── example │ │ └── ClientExample.java └── standalone-types │ ├── README.md │ ├── build.gradle.kts │ ├── license.txt │ ├── model │ ├── events.smithy │ └── person.smithy │ ├── settings.gradle.kts │ ├── smithy-build.json │ └── src │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── example │ ├── ExternalTypesTest.java │ ├── GenericEventTest.java │ └── RecursiveStructureTest.java ├── framework-errors ├── README.md ├── build.gradle.kts ├── model │ ├── errors.smithy │ └── trait.smithy ├── smithy-build.json └── src │ └── main │ ├── java │ └── software │ │ └── amazon │ │ └── smithy │ │ └── framework │ │ ├── knowledge │ │ └── ImplicitErrorIndex.java │ │ ├── traits │ │ └── ImplicitErrorsTrait.java │ │ └── transform │ │ └── AddFrameworkErrorsTransform.java │ └── resources │ └── META-INF │ └── services │ └── software.amazon.smithy.model.traits.TraitService ├── git-hooks ├── pre-commit └── pre-push ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── http ├── http-api │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── http │ │ │ └── api │ │ │ ├── HttpHeaders.java │ │ │ ├── HttpMessage.java │ │ │ ├── HttpRequest.java │ │ │ ├── HttpRequestImpl.java │ │ │ ├── HttpResponse.java │ │ │ ├── HttpResponseImpl.java │ │ │ ├── HttpVersion.java │ │ │ ├── ModifiableHttpHeaders.java │ │ │ ├── ModifiableHttpMessage.java │ │ │ ├── ModifiableHttpRequest.java │ │ │ ├── ModifiableHttpRequestImpl.java │ │ │ ├── ModifiableHttpResponse.java │ │ │ ├── ModifiableHttpResponseImpl.java │ │ │ ├── SimpleModifiableHttpHeaders.java │ │ │ └── SimpleUnmodifiableHttpHeaders.java │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── http │ │ └── api │ │ ├── HttpHeadersTest.java │ │ ├── SmithyHttpMessageTest.java │ │ ├── SmithyHttpRequestImplTest.java │ │ └── SmithyHttpResponseImplTest.java └── http-binding │ ├── README.md │ ├── build.gradle.kts │ └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── http │ │ └── binding │ │ ├── BasicStringValueDeserializer.java │ │ ├── BindingMatcher.java │ │ ├── HttpBinding.java │ │ ├── HttpBindingDeserializer.java │ │ ├── HttpBindingSerializer.java │ │ ├── HttpHeaderDeserializer.java │ │ ├── HttpHeaderListDeserializer.java │ │ ├── HttpHeaderSerializer.java │ │ ├── HttpLabelSerializer.java │ │ ├── HttpPathLabelDeserializer.java │ │ ├── HttpPrefixHeadersDeserializer.java │ │ ├── HttpPrefixHeadersSerializer.java │ │ ├── HttpQueryParamsDeserializer.java │ │ ├── HttpQueryParamsSerializer.java │ │ ├── HttpQuerySerializer.java │ │ ├── HttpQueryStringDeserializer.java │ │ ├── PayloadDeserializer.java │ │ ├── PayloadSerializer.java │ │ ├── PrefixConstants.java │ │ ├── RequestDeserializer.java │ │ ├── RequestSerializer.java │ │ ├── ResponseDeserializer.java │ │ ├── ResponseSerializer.java │ │ ├── ResponseStatusDeserializer.java │ │ ├── ResponseStatusSerializer.java │ │ ├── SpecificHttpHeaderSerializer.java │ │ └── package-info.java │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── http │ └── binding │ └── HttpLabelSerializerTest.java ├── io ├── README.md ├── build.gradle.kts └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── io │ │ ├── ByteBufferOutputStream.java │ │ ├── ByteBufferUtils.java │ │ ├── datastream │ │ ├── ByteBufferDataStream.java │ │ ├── DataStream.java │ │ ├── EmptyDataStream.java │ │ ├── FileDataStream.java │ │ ├── HttpBodySubscriberAdapter.java │ │ ├── InputStreamDataStream.java │ │ ├── PublisherDataStream.java │ │ └── WrappedDataStream.java │ │ └── uri │ │ ├── PathBuilder.java │ │ ├── QueryStringBuilder.java │ │ ├── QueryStringParser.java │ │ ├── URIBuilder.java │ │ └── URLEncoding.java │ └── test │ ├── java │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── io │ │ ├── datastream │ │ ├── ByteBufferDataStreamTest.java │ │ ├── FileDataStreamTest.java │ │ ├── InputStreamDataStreamTest.java │ │ └── WrappedDataStreamTest.java │ │ └── uri │ │ └── URIBuilderTest.java │ └── resources │ └── software │ └── amazon │ └── smithy │ └── java │ └── io │ └── datastream │ └── test.txt ├── jmespath ├── README.md ├── build.gradle.kts └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── jmespath │ │ ├── JMESPathDocumentQuery.java │ │ ├── JMESPathDocumentUtils.java │ │ ├── JMESPathFunction.java │ │ └── package-info.java │ └── test │ ├── java │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── jmespath │ │ ├── ComplianceTestRunner.java │ │ ├── JMESPathComplianceTests.java │ │ └── TestJMESPathDocumentQuery.java │ └── resources │ └── software │ └── amazon │ └── smithy │ └── java │ └── jmespath │ └── compliance │ ├── basic.json │ ├── boolean.json │ ├── current.json │ ├── escape.json │ ├── filters.json │ ├── functions.json │ ├── identifiers.json │ ├── indices.json │ ├── literals.json │ ├── multiselect.json │ ├── slice.json │ ├── unicode.json │ └── wildcard.json ├── logging ├── README.md ├── build.gradle.kts └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── logging │ │ ├── InternalLogger.java │ │ ├── JclLogger.java │ │ ├── JdkSystemLogger.java │ │ ├── Log4j2Logger.java │ │ ├── ParameterFormatter.java │ │ └── Slf4jLogger.java │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── logging │ ├── JclLoggerIsolatedTest.java │ ├── JdkSystemLoggerTest.java │ ├── Log4j2LoggerIsolatedTest.java │ ├── LoggerTestBase.java │ └── Slf4jLoggerIsolatedTest.java ├── mcp ├── mcp-bundle-api │ ├── build.gradle.kts │ ├── license.txt │ ├── smithy-build.json │ └── src │ │ └── main │ │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── mcp │ │ │ └── bundle │ │ │ └── api │ │ │ ├── McpBundles.java │ │ │ ├── ModifiableRegistry.java │ │ │ └── Registry.java │ │ └── resources │ │ └── META-INF │ │ └── smithy │ │ ├── manifest │ │ └── mcpbundle.smithy ├── mcp-cli-api │ ├── build.gradle.kts │ ├── license.txt │ ├── model │ │ └── main.smithy │ ├── smithy-build.json │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── mcp │ │ │ └── cli │ │ │ ├── AbstractAddBundle.java │ │ │ ├── CliBundle.java │ │ │ ├── ConfigUtils.java │ │ │ ├── ConfigurationCommand.java │ │ │ ├── DefaultConfigProvider.java │ │ │ ├── EmptyDefaultConfigProvider.java │ │ │ ├── ExecutionContext.java │ │ │ ├── RegistryUtils.java │ │ │ └── SmithyMcpCommand.java │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── mcp │ │ └── cli │ │ └── ConfigUtilsTest.java ├── mcp-cli │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── mcp │ │ └── cli │ │ ├── McpCli.java │ │ ├── McpCliVersionProvider.java │ │ ├── ProcessIoProxy.java │ │ ├── VersionProvider.java │ │ └── commands │ │ ├── AddSmithyBundle.java │ │ ├── Configure.java │ │ ├── InstallBundle.java │ │ ├── ListBundles.java │ │ ├── StartServer.java │ │ └── UninstallBundle.java ├── mcp-schemas │ ├── build.gradle.kts │ ├── license.txt │ ├── model │ │ ├── main.smithy │ │ └── registry.smithy │ └── smithy-build.json └── mcp-server │ ├── build.gradle.kts │ └── src │ ├── main │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── mcp │ │ └── server │ │ ├── McpServer.java │ │ ├── McpServerBuilder.java │ │ ├── McpServerProxy.java │ │ └── StdioProxy.java │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── mcp │ └── server │ ├── McpServerTest.java │ ├── TestInputStream.java │ └── TestOutputStream.java ├── model-bundle └── model-bundle-api │ ├── build.gradle.kts │ ├── license.txt │ ├── smithy-build.json │ └── src │ ├── main │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── modelbundle │ │ │ └── api │ │ │ ├── BundlePlugin.java │ │ │ ├── BundlePluginFactory.java │ │ │ ├── ModelBundler.java │ │ │ ├── ModelBundles.java │ │ │ ├── PluginProviders.java │ │ │ ├── ServiceLoaderLoader.java │ │ │ └── StaticAuthSchemeResolver.java │ └── resources │ │ └── META-INF │ │ └── smithy │ │ ├── bundle.smithy │ │ └── manifest │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── modelbundle │ └── api │ └── ModelBundlerTest.java ├── protocol-test-harness ├── README.md ├── build.gradle.kts └── src │ ├── main │ ├── java │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── protocoltests │ │ │ ├── generators │ │ │ └── ProtocolTestGenerator.java │ │ │ └── harness │ │ │ ├── Assertions.java │ │ │ ├── ComparisonUtils.java │ │ │ ├── HttpClientRequestProtocolTestProvider.java │ │ │ ├── HttpClientRequestTests.java │ │ │ ├── HttpClientResponseProtocolTestProvider.java │ │ │ ├── HttpClientResponseTests.java │ │ │ ├── HttpResponseProtocolTestCase.java │ │ │ ├── HttpServerRequestProtocolTestProvider.java │ │ │ ├── HttpServerRequestTests.java │ │ │ ├── HttpServerResponseProtocolTestProvider.java │ │ │ ├── HttpServerResponseTests.java │ │ │ ├── HttpTestOperation.java │ │ │ ├── IgnoredTestCase.java │ │ │ ├── MockClient.java │ │ │ ├── MockOperation.java │ │ │ ├── ProtocolTest.java │ │ │ ├── ProtocolTestDocument.java │ │ │ ├── ProtocolTestExtension.java │ │ │ ├── ProtocolTestFilter.java │ │ │ ├── ProtocolTestParameterResolver.java │ │ │ ├── ProtocolTestProtocolProvider.java │ │ │ ├── ProtocolTestProvider.java │ │ │ ├── ServerTestClient.java │ │ │ ├── StringBuildingSubscriber.java │ │ │ ├── TestFilter.java │ │ │ └── TestType.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── software.amazon.smithy.java.server.core.ServerProtocolProvider │ └── test │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── protocoltests │ └── harness │ └── ProtocolTestDocumentTest.java ├── retries-api ├── build.gradle.kts └── src │ └── main │ └── java │ └── software │ └── amazon │ └── smithy │ └── java │ └── retries │ └── api │ ├── AcquireInitialTokenRequest.java │ ├── AcquireInitialTokenResponse.java │ ├── NoRetryImpl.java │ ├── RecordSuccessRequest.java │ ├── RecordSuccessResponse.java │ ├── RefreshRetryTokenRequest.java │ ├── RefreshRetryTokenResponse.java │ ├── RetryInfo.java │ ├── RetrySafety.java │ ├── RetryStrategy.java │ ├── RetryToken.java │ └── TokenAcquisitionFailedException.java ├── server ├── server-api │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ └── java │ │ │ └── software │ │ │ └── amazon │ │ │ └── smithy │ │ │ └── java │ │ │ └── server │ │ │ ├── FilteredService.java │ │ │ ├── Operation.java │ │ │ ├── OperationFilters.java │ │ │ ├── RequestContext.java │ │ │ ├── Route.java │ │ │ ├── Server.java │ │ │ ├── ServerBuilder.java │ │ │ ├── ServerProvider.java │ │ │ └── Service.java │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ ├── FilteredServiceTest.java │ │ ├── OperationFiltersTest.java │ │ └── TestStructs.java ├── server-core │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ └── core │ │ ├── DefaultJob.java │ │ ├── DelegatingObservableOrchestrator.java │ │ ├── ErrorHandlingOrchestrator.java │ │ ├── Handler.java │ │ ├── HandlerAssembler.java │ │ ├── HttpJob.java │ │ ├── HttpRequest.java │ │ ├── HttpResponse.java │ │ ├── Job.java │ │ ├── ObservableOrchestrator.java │ │ ├── OperationHandler.java │ │ ├── Orchestrator.java │ │ ├── OrchestratorGroup.java │ │ ├── ProtocolHandler.java │ │ ├── ProtocolResolver.java │ │ ├── Request.java │ │ ├── RequestImpl.java │ │ ├── Response.java │ │ ├── ResponseImpl.java │ │ ├── ServerProtocol.java │ │ ├── ServerProtocolProvider.java │ │ ├── ServiceMatcher.java │ │ ├── ServiceProtocolResolutionRequest.java │ │ ├── ServiceProtocolResolutionResult.java │ │ ├── SingleThreadOrchestrator.java │ │ ├── SyncHandler.java │ │ └── ValidationHandler.java ├── server-netty │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ ├── java │ │ │ └── software │ │ │ │ └── amazon │ │ │ │ └── smithy │ │ │ │ └── java │ │ │ │ └── server │ │ │ │ └── netty │ │ │ │ ├── HttpRequestHandler.java │ │ │ │ ├── NettyHttpHeaders.java │ │ │ │ ├── NettyServer.java │ │ │ │ ├── NettyServerBuilder.java │ │ │ │ ├── NettyServerProvider.java │ │ │ │ ├── NettyUtils.java │ │ │ │ └── ServerChannelInitializer.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── software.amazon.smithy.java.server.ServerProvider │ │ └── test │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ └── netty │ │ └── NettHttpHeadersTest.java ├── server-proxy │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ └── ProxyService.java └── server-rpcv2-cbor │ ├── README.md │ ├── build.gradle.kts │ └── src │ ├── it │ └── java │ │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ └── rpcv2 │ │ └── RpcV2CborProtocolTests.java │ └── main │ ├── java │ └── software │ │ └── amazon │ │ └── smithy │ │ └── java │ │ └── server │ │ └── rpcv2 │ │ ├── RpcV2CborProtocol.java │ │ ├── RpcV2CborProtocolProvider.java │ │ └── package-info.java │ └── resources │ └── META-INF │ └── services │ └── software.amazon.smithy.java.server.core.ServerProtocolProvider ├── settings.gradle.kts ├── smithy-templates.json └── tracing-api └── build.gradle.kts /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | #Entire code base was reformatted. See PR 541 2 | 0fe8cd1798b4bae137f96439d14d44889bebc167 3 | -------------------------------------------------------------------------------- /.gitallowed: -------------------------------------------------------------------------------- 1 | AccountId=111111111111 2 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "gradle" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | day: "wednesday" 8 | groups: 9 | gradle: 10 | update-types: 11 | - "minor" 12 | - "patch" 13 | - package-ecosystem: "github-actions" 14 | directory: "/" 15 | schedule: 16 | interval: "weekly" 17 | day: "wednesday" 18 | groups: 19 | github: 20 | update-types: 21 | - "minor" 22 | - "patch" 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore Gradle project-specific cache directory 2 | .gradle 3 | 4 | # Ignore kotlin cache dir 5 | .kotlin 6 | 7 | # Ignore Gradle build output directory 8 | build 9 | 10 | # Ignore intellij files 11 | .idea 12 | 13 | #Ignore mac files 14 | .DS_Store 15 | 16 | # Intellij stuff 17 | .classpath 18 | .project 19 | .settings 20 | 21 | smithy-java-core/out 22 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 0.0.2 2 | 3 | -------------------------------------------------------------------------------- /auth-api/README.md: -------------------------------------------------------------------------------- 1 | ## auth-api 2 | This module provides the auth API for clients and servers. 3 | -------------------------------------------------------------------------------- /auth-api/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the auth API" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Auth :: API" 8 | extra["moduleName"] = "software.amazon.smithy.java.auth.api" 9 | 10 | dependencies { 11 | api(project(":context")) 12 | } 13 | -------------------------------------------------------------------------------- /auth-api/src/main/java/software/amazon/smithy/java/auth/api/ExpectationNotMetException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.auth.api; 7 | 8 | /** 9 | * Thrown by {@link AuthProperties} methods that expect a property to exist. 10 | */ 11 | public class ExpectationNotMetException extends RuntimeException { 12 | public ExpectationNotMetException(String message) { 13 | super(message); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /auth-api/src/main/java/software/amazon/smithy/java/auth/api/identity/ApiKeyIdentityRecord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.auth.api.identity; 7 | 8 | record ApiKeyIdentityRecord(String apiKey) implements ApiKeyIdentity {} 9 | -------------------------------------------------------------------------------- /auth-api/src/main/java/software/amazon/smithy/java/auth/api/identity/LoginIdentityRecord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.auth.api.identity; 7 | 8 | record LoginIdentityRecord(String username, String password) implements LoginIdentity {} 9 | -------------------------------------------------------------------------------- /auth-api/src/main/java/software/amazon/smithy/java/auth/api/identity/TokenIdentityRecord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.auth.api.identity; 7 | 8 | record TokenIdentityRecord(String token) implements TokenIdentity {} 9 | -------------------------------------------------------------------------------- /aws/README.md: -------------------------------------------------------------------------------- 1 | ## AWS SDK Packages 2 | Packages within this directory are specific to AWS SDKs and the use of AWS services. 3 | 4 | ### Service Integrations 5 | The following integrations for AWS services are provided: 6 | - [lambda](./integrations/lambda-endpoint) - Wrapper for running Smithy Java services on AWS Lambda 7 | -------------------------------------------------------------------------------- /aws/aws-auth-api/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the Smithy Java AWS Auth API" 6 | 7 | extra["displayName"] = "Smithy :: Java :: AWS :: Auth :: API" 8 | extra["moduleName"] = "software.amazon.smithy.java.aws.auth.api" 9 | 10 | dependencies { 11 | api(project(":auth-api")) 12 | } 13 | -------------------------------------------------------------------------------- /aws/aws-event-streams/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides AWS event streaming support" 6 | 7 | extra["displayName"] = "Smithy :: Java :: AWS :: Event Streams" 8 | extra["moduleName"] = "software.amazon.smithy.java.aws.events" 9 | 10 | dependencies { 11 | api(project(":core")) 12 | api("software.amazon.eventstream:eventstream:1.0.1") 13 | } 14 | -------------------------------------------------------------------------------- /aws/aws-mcp-cli-commands/src/main/resources/META-INF/services/software.amazon.smithy.java.mcp.cli.ConfigurationCommand: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.mcp.cli.commands.AddAwsServiceBundle -------------------------------------------------------------------------------- /aws/aws-mcp-cli-commands/src/main/resources/META-INF/services/software.amazon.smithy.mcp.bundle.api.Registry: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.mcp.cli.AwsMcpRegistry -------------------------------------------------------------------------------- /aws/aws-mcp-types/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ -------------------------------------------------------------------------------- /aws/aws-mcp-types/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-type-codegen": { 5 | "namespace": "software.amazon.smithy.awsmcp", 6 | "headerFile": "license.txt" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /aws/aws-mcp-types/src/main/resources/META-INF/smithy/manifest: -------------------------------------------------------------------------------- 1 | awsmcp.smithy -------------------------------------------------------------------------------- /aws/aws-service-bundle/src/main/resources/META-INF/services/software.amazon.smithy.modelbundle.api.BundlePluginFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.servicebundle.provider.AwsServiceBundlePluginFactory -------------------------------------------------------------------------------- /aws/aws-sigv4/src/main/resources/META-INF/services/software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.client.auth.scheme.sigv4.SigV4AuthScheme$Factory 2 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.execution.parallel.enabled = true 2 | junit.jupiter.execution.parallel.mode.default = concurrent 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-header-value-trim/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-header-value-trim/request.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1: value1 4 | My-Header2: "a b c" 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-header-value-trim/signed.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1: value1 4 | My-Header2: "a b c" 5 | X-Amz-Date:20150830T123600Z 6 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736 7 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-relative-normalized/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-relative-normalized/request.txt: -------------------------------------------------------------------------------- 1 | GET /example/.. HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-relative-normalized/signed.txt: -------------------------------------------------------------------------------- 1 | GET /example/.. HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-relative-relative-normalized/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-relative-relative-normalized/request.txt: -------------------------------------------------------------------------------- 1 | GET /example1/example2/../.. HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-relative-relative-normalized/signed.txt: -------------------------------------------------------------------------------- 1 | GET /example1/example2/../.. HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-skip-header/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-skip-header/request.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | User-agent:java sdk v1.0 3 | Host:example.amazonaws.com 4 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-skip-header/signed.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | User-agent: java sdk v1.0 5 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 6 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-dot-slash-normalized/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-dot-slash-normalized/request.txt: -------------------------------------------------------------------------------- 1 | GET /./ HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-dot-slash-normalized/signed.txt: -------------------------------------------------------------------------------- 1 | GET /./ HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-normalized/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-normalized/request.txt: -------------------------------------------------------------------------------- 1 | GET // HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-normalized/signed.txt: -------------------------------------------------------------------------------- 1 | GET // HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-pointless-dot-normalized/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-pointless-dot-normalized/request.txt: -------------------------------------------------------------------------------- 1 | GET /./example HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slash-pointless-dot-normalized/signed.txt: -------------------------------------------------------------------------------- 1 | GET /./example HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slashes-normalized/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slashes-normalized/request.txt: -------------------------------------------------------------------------------- 1 | GET //example// HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-slashes-normalized/signed.txt: -------------------------------------------------------------------------------- 1 | GET //example// HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-unreserved/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-unreserved/request.txt: -------------------------------------------------------------------------------- 1 | GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-unreserved/signed.txt: -------------------------------------------------------------------------------- 1 | GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-utf8/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-utf8/request.txt: -------------------------------------------------------------------------------- 1 | GET /ሴ HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-utf8/signed.txt: -------------------------------------------------------------------------------- 1 | GET /ሴ HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-empty-query-key/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-empty-query-key/request.txt: -------------------------------------------------------------------------------- 1 | GET /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-empty-query-key/signed.txt: -------------------------------------------------------------------------------- 1 | GET /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-query-order-key-case/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-query-order-key-case/request.txt: -------------------------------------------------------------------------------- 1 | GET /?Param2=value2&Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-query-order-key-case/signed.txt: -------------------------------------------------------------------------------- 1 | GET /?Param2=value2&Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-query-unreserved/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-query-unreserved/request.txt: -------------------------------------------------------------------------------- 1 | GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-query-unreserved/signed.txt: -------------------------------------------------------------------------------- 1 | GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-utf8-query/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-utf8-query/request.txt: -------------------------------------------------------------------------------- 1 | GET /?ሴ=bar HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-utf8-query/signed.txt: -------------------------------------------------------------------------------- 1 | GET /?ሴ=bar HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-with-session-token/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY", 5 | "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267" 6 | }, 7 | "properties": { 8 | "region": "us-east-1", 9 | "service": "service", 10 | "timestamp": "2015-08-30T12:36:00Z" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-with-session-token/request.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla-with-session-token/signed.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267 4 | X-Amz-Date:20150830T123600Z 5 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8 6 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla/request.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/get-vanilla/signed.txt: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-header-key-sort/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-header-key-sort/request.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:value1 4 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-header-key-sort/signed.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:value1 4 | X-Amz-Date:20150830T123600Z 5 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c 6 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-header-value-case/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-header-value-case/request.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:VALUE1 4 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-header-value-case/signed.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:VALUE1 4 | X-Amz-Date:20150830T123600Z 5 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d 6 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-sts-header-before/request.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla-empty-query-value/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla-empty-query-value/request.txt: -------------------------------------------------------------------------------- 1 | POST /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla-empty-query-value/signed.txt: -------------------------------------------------------------------------------- 1 | POST /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla-query/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla-query/request.txt: -------------------------------------------------------------------------------- 1 | POST /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla-query/signed.txt: -------------------------------------------------------------------------------- 1 | POST /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla/request.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-vanilla/signed.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b 5 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-x-www-form-urlencoded-params/context.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | "access_key_id": "AKIDEXAMPLE", 4 | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" 5 | }, 6 | "properties": { 7 | "region": "us-east-1", 8 | "service": "service", 9 | "timestamp": "2015-08-30T12:36:00Z" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-x-www-form-urlencoded-params/request.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Content-Type:application/x-www-form-urlencoded; charset=utf8 3 | Host:example.amazonaws.com 4 | X-Amz-Date:20150830T123600Z 5 | 6 | Param1=value1 7 | -------------------------------------------------------------------------------- /aws/aws-sigv4/src/test/resources/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/signing/post-x-www-form-urlencoded-params/signed.txt: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Content-Type:application/x-www-form-urlencoded; charset=utf8 3 | Host:example.amazonaws.com 4 | X-Amz-Date:20150830T123600Z 5 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1a72ec8f64bd914b0e42e42607c7fbce7fb2c7465f63e3092b3b0d39fa77a6fe 6 | 7 | Param1=value1 8 | -------------------------------------------------------------------------------- /aws/client/aws-client-awsjson/README.md: -------------------------------------------------------------------------------- 1 | ## aws-client-awsjson 2 | Client implementation of the [AWS JSON 1.0](https://smithy.io/2.0/aws/protocols/aws-json-1_0-protocol.html#aws-json-1-0-protocol) 3 | and [AWS JSON 1.1](https://smithy.io/2.0/aws/protocols/aws-json-1_1-protocol.html#aws-json-1-1-protocol) protocols. 4 | -------------------------------------------------------------------------------- /aws/client/aws-client-awsjson/src/main/resources/META-INF/services/software.amazon.smithy.java.client.core.ClientProtocolFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.client.awsjson.AwsJson1Protocol$Factory 2 | software.amazon.smithy.java.aws.client.awsjson.AwsJson11Protocol$Factory 3 | -------------------------------------------------------------------------------- /aws/client/aws-client-core/README.md: -------------------------------------------------------------------------------- 1 | ## aws-client-core 2 | Provides common client functionality for AWS SDKs. 3 | -------------------------------------------------------------------------------- /aws/client/aws-client-http/README.md: -------------------------------------------------------------------------------- 1 | ## aws-client-http 2 | Provides common HTTP functionality for AWS SDKs. 3 | -------------------------------------------------------------------------------- /aws/client/aws-client-restjson/README.md: -------------------------------------------------------------------------------- 1 | ## aws-client-restjson 2 | Client implementation of the [AWS restJson1](https://smithy.io/2.0/aws/protocols/aws-json-1_1-protocol.html#aws-json-1-1-protocol) 3 | protocol. 4 | -------------------------------------------------------------------------------- /aws/client/aws-client-restjson/src/main/resources/META-INF/services/software.amazon.smithy.java.client.core.ClientProtocolFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.client.restjson.RestJsonClientProtocol$Factory 2 | -------------------------------------------------------------------------------- /aws/client/aws-client-restxml/README.md: -------------------------------------------------------------------------------- 1 | ## aws-client-restxml 2 | Client implementation of the [AWS restXml](https://smithy.io/2.0/aws/protocols/aws-restxml-protocol.html#aws-restxml-protocol) 3 | protocol. 4 | -------------------------------------------------------------------------------- /aws/client/aws-client-restxml/src/main/resources/META-INF/services/software.amazon.smithy.java.client.core.ClientProtocolFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.client.restxml.RestXmlClientProtocol$Factory 2 | -------------------------------------------------------------------------------- /aws/sdkv2/aws-sdkv2-auth/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides an adapter that allows Smithy Java to use auth from the AWS SDK for Java V2" 6 | 7 | extra["displayName"] = "Smithy :: Java :: AWS :: SDKv2 :: Auth Adapter" 8 | extra["moduleName"] = "software.amazon.smithy.java.aws.sdkv2.auth" 9 | 10 | dependencies { 11 | api(project(":retries-api")) 12 | api(project(":aws:aws-auth-api")) 13 | implementation(libs.aws.sdk.retries.spi) 14 | implementation(libs.aws.sdk.auth) 15 | } 16 | -------------------------------------------------------------------------------- /aws/sdkv2/aws-sdkv2-retries/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides an adapter that allows Smithy Java to use retry strategies from the AWS SDK for Java V2" 6 | 7 | extra["displayName"] = "Smithy :: Java :: AWS :: SDKv2 :: Retries Adapter" 8 | extra["moduleName"] = "software.amazon.smithy.java.aws.sdkv2.retries" 9 | 10 | dependencies { 11 | api(project(":retries-api")) 12 | implementation(libs.aws.sdk.retries.spi) 13 | 14 | testImplementation(libs.aws.sdk.retries) 15 | } 16 | -------------------------------------------------------------------------------- /aws/sdkv2/aws-sdkv2-retries/src/main/java/software/amazon/smithy/java/aws/sdkv2/retries/SdkRetryToken.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.aws.sdkv2.retries; 7 | 8 | import software.amazon.smithy.java.retries.api.RetryToken; 9 | 10 | record SdkRetryToken(software.amazon.awssdk.retries.api.RetryToken delegate) implements RetryToken {} 11 | -------------------------------------------------------------------------------- /aws/sdkv2/aws-sdkv2-shapes/src/main/resources/META-INF/services/software.amazon.smithy.java.aws.sdkv2.shapes.DocumentConverter: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.sdkv2.shapes.AwsJsonProtocols$AwsJson1DocumentConverter 2 | software.amazon.smithy.java.aws.sdkv2.shapes.AwsJsonProtocols$AwsJson11DocumentConverter 3 | software.amazon.smithy.java.aws.sdkv2.shapes.AwsJsonProtocols$RestJson1DocumentConverter 4 | -------------------------------------------------------------------------------- /aws/server/aws-server-restjson/README.md: -------------------------------------------------------------------------------- 1 | ## aws-server-restjson 2 | Server implementation of the [AWS restJson1](https://smithy.io/2.0/aws/protocols/aws-json-1_1-protocol.html#aws-json-1-1-protocol) 3 | protocol. 4 | -------------------------------------------------------------------------------- /aws/server/aws-server-restjson/src/main/java/software/amazon/smithy/java/aws/server/restjson/router/Match.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.aws.server.restjson.router; 7 | 8 | import java.util.List; 9 | 10 | public interface Match { 11 | List getLabelValues(String label); 12 | 13 | boolean isPathLabel(String label); 14 | } 15 | -------------------------------------------------------------------------------- /aws/server/aws-server-restjson/src/main/java/software/amazon/smithy/java/aws/server/restjson/router/RouteMatcher.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.aws.server.restjson.router; 7 | 8 | interface RouteMatcher { 9 | Match match(String value); 10 | 11 | int getRank(); 12 | } 13 | -------------------------------------------------------------------------------- /aws/server/aws-server-restjson/src/main/resources/META-INF/services/software.amazon.smithy.java.server.core.ServerProtocolProvider: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.aws.server.restjson.AwsRestJson1ProtocolProvider -------------------------------------------------------------------------------- /buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | 5 | repositories { 6 | mavenLocal() 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | 11 | dependencies { 12 | implementation(libs.test.logger.plugin) 13 | implementation(libs.spotbugs) 14 | implementation(libs.spotless) 15 | implementation(libs.smithy.gradle.base) 16 | implementation(libs.dependency.analysis) 17 | 18 | // https://github.com/gradle/gradle/issues/15383 19 | implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) 20 | } 21 | -------------------------------------------------------------------------------- /buildSrc/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.parallel=true 2 | org.gradle.jvmargs='-Dfile.encoding=UTF-8' 3 | -------------------------------------------------------------------------------- /buildSrc/settings.gradle: -------------------------------------------------------------------------------- 1 | //This ensures composite builds also have the repositories configured. 2 | pluginManagement { 3 | repositories { 4 | mavenLocal() 5 | mavenCentral() 6 | gradlePluginPortal() 7 | } 8 | } 9 | // Ensure version library is available to buildSrc plugins 10 | dependencyResolutionManagement { 11 | versionCatalogs { 12 | create("libs") { 13 | from(files("../gradle/libs.versions.toml")) 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /cli/src/main/java/software/amazon/smithy/java/cli/ProtocolType.java: -------------------------------------------------------------------------------- 1 | package software.amazon.smithy.java.cli; 2 | 3 | public enum ProtocolType { 4 | AWS_JSON, 5 | RPC_V2_CBOR, 6 | REST_JSON, 7 | REST_XML 8 | } -------------------------------------------------------------------------------- /cli/src/main/java/software/amazon/smithy/java/cli/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.cli; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /cli/src/resource-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "resources": { 3 | "includes": [ 4 | {"pattern": ".*\\.smithy$"} 5 | ] 6 | } 7 | } -------------------------------------------------------------------------------- /client/client-auth-api/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the client auth APIs" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Client :: Auth API" 8 | extra["moduleName"] = "software.amazon.smithy.java.client.core.auth" 9 | 10 | dependencies { 11 | api(project(":auth-api")) 12 | api(project(":core")) 13 | implementation(libs.smithy.model) 14 | } 15 | -------------------------------------------------------------------------------- /client/client-core/src/main/java/software/amazon/smithy/java/client/core/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.client.core; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /client/client-http-binding/README.md: -------------------------------------------------------------------------------- 1 | ### client-http-binding 2 | Provides client specific [http-binding](https://smithy.io/2.0/spec/http-bindings.html#http-bindings) functionality. 3 | Http-binding allows Smithy-modeled data to be bound to various parts of an HTTP message such 4 | as headers, query parameters, or the message body. 5 | -------------------------------------------------------------------------------- /client/client-http-binding/src/main/java/software/amazon/smithy/java/client/http/binding/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.client.http.binding; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /client/client-http/README.md: -------------------------------------------------------------------------------- 1 | ### client-http 2 | Provides a client-side implementation of HTTP transport. 3 | -------------------------------------------------------------------------------- /client/client-http/src/main/java/software/amazon/smithy/java/client/http/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.client.http; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /client/client-http/src/main/resources/META-INF/services/software.amazon.smithy.java.client.core.ClientTransportFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.client.http.JavaHttpClientTransport$Factory 2 | -------------------------------------------------------------------------------- /client/client-http/src/main/resources/META-INF/services/software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.client.http.auth.HttpBasicAuthAuthScheme$Factory 2 | software.amazon.smithy.java.client.http.auth.HttpDigestAuthAuthScheme$Factory 3 | software.amazon.smithy.java.client.http.auth.HttpApiKeyAuthScheme$Factory 4 | software.amazon.smithy.java.client.http.auth.HttpBearerAuthScheme$Factory 5 | -------------------------------------------------------------------------------- /client/client-rpcv2-cbor/src/main/resources/META-INF/services/software.amazon.smithy.java.client.core.ClientProtocolFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.client.rpcv2.RpcV2CborProtocol$Factory 2 | -------------------------------------------------------------------------------- /client/client-waiters/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the Smithy Java Waiter implementation" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Client :: Waiters" 8 | extra["moduleName"] = "software.amazon.smithy.java.client.waiters" 9 | 10 | dependencies { 11 | api(libs.smithy.waiters) 12 | implementation(project(":jmespath")) 13 | implementation(project(":logging")) 14 | implementation(project(":client:client-core")) 15 | } 16 | -------------------------------------------------------------------------------- /client/dynamic-client/src/main/java/software/amazon/smithy/java/dynamicclient/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.dynamicclient; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /codecs/cbor-codec/README.md: -------------------------------------------------------------------------------- 1 | ### rpcv2-cbor-codec 2 | Provides a codec for serializing or deserializing CBOR data to/from 3 | Smithy-Java `SerializableShape`'s. 4 | 5 | > [!NOTE] 6 | > This codec follows the [Smithy RPCv2 CBOR specification](https://smithy.io/2.0/additional-specs/protocols/smithy-rpc-v2.html#shape-serialization) 7 | > for the encoding of BigIntegers, BigDecimals, and Timestamps. 8 | 9 | CBOR Protocol implementation can use this package to provide basic serde functionality. 10 | -------------------------------------------------------------------------------- /codecs/cbor-codec/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | `java-test-fixtures` 4 | } 5 | 6 | description = "This module provides CBOR functionality" 7 | 8 | extra["displayName"] = "Smithy :: Java :: CBOR" 9 | extra["moduleName"] = "software.amazon.smithy.java.cbor" 10 | 11 | dependencies { 12 | api(project(":core")) 13 | testFixturesImplementation(libs.assertj.core) 14 | testImplementation(project(":codecs:json-codec", configuration = "shadow")) 15 | } 16 | -------------------------------------------------------------------------------- /codecs/json-codec/README.md: -------------------------------------------------------------------------------- 1 | ## json-codec 2 | Provides a codec for serializing or deserializing JSON data to/from 3 | Smithy-Java `SerializableShape`'s. 4 | 5 | JSON Protocol implementation can use this package to provide basic serde capabilities. 6 | 7 | **Note:** This codec can discover custom `JsonSerdeProvider` service implementations via SPI. 8 | By default, [Jackson](https://github.com/FasterXML/jackson) is used to provide JSON serde. 9 | -------------------------------------------------------------------------------- /codecs/json-codec/src/main/java/software/amazon/smithy/java/json/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.json; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /codecs/json-codec/src/main/resources/META-INF/services/software.amazon.smithy.java.json.JsonSerdeProvider: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.json.jackson.JacksonJsonSerdeProvider 2 | -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_double_huge_neg_exp.json: -------------------------------------------------------------------------------- 1 | [123.456e-789] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_huge_exp.json: -------------------------------------------------------------------------------- 1 | [0.4e00669999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969999999006] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_neg_int_huge_exp.json: -------------------------------------------------------------------------------- 1 | [-1e+9999] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_pos_double_huge_exp.json: -------------------------------------------------------------------------------- 1 | [1.5e+9999] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_real_neg_overflow.json: -------------------------------------------------------------------------------- 1 | [-123123e100000] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_real_pos_overflow.json: -------------------------------------------------------------------------------- 1 | [123123e100000] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_real_underflow.json: -------------------------------------------------------------------------------- 1 | [123e-10000000] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_too_big_neg_int.json: -------------------------------------------------------------------------------- 1 | [-123123123123123123123123123123] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_too_big_pos_int.json: -------------------------------------------------------------------------------- 1 | [100000000000000000000] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_number_very_big_negative_int.json: -------------------------------------------------------------------------------- 1 | [-237462374673276894279832749832423479823246327846] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_object_key_lone_2nd_surrogate.json: -------------------------------------------------------------------------------- 1 | {"\uDFAA":0} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_1st_surrogate_but_2nd_missing.json: -------------------------------------------------------------------------------- 1 | ["\uDADA"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json: -------------------------------------------------------------------------------- 1 | ["\uD888\u1234"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_UTF-16LE_with_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_UTF-16LE_with_BOM.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_UTF-8_invalid_sequence.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_UTF-8_invalid_sequence.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_UTF8_surrogate_U+D800.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_UTF8_surrogate_U+D800.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json: -------------------------------------------------------------------------------- 1 | ["\uD800\n"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_incomplete_surrogate_pair.json: -------------------------------------------------------------------------------- 1 | ["\uDd1ea"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_incomplete_surrogates_escape_valid.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800\n"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_invalid_lonely_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\ud800"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_invalid_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\ud800abc"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_invalid_utf-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_invalid_utf-8.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_inverted_surrogates_U+1D11E.json: -------------------------------------------------------------------------------- 1 | ["\uDd1e\uD834"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_iso_latin_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_iso_latin_1.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_lone_second_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\uDFAA"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_lone_utf8_continuation_byte.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_lone_utf8_continuation_byte.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_not_in_unicode_range.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_not_in_unicode_range.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_overlong_sequence_2_bytes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_overlong_sequence_2_bytes.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_overlong_sequence_6_bytes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_overlong_sequence_6_bytes.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_overlong_sequence_6_bytes_null.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_overlong_sequence_6_bytes_null.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_truncated-utf-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_truncated-utf-8.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_utf16BE_no_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_utf16BE_no_BOM.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_utf16LE_no_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_string_utf16LE_no_BOM.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/i_structure_UTF-8_BOM_empty_object.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_1_true_without_comma.json: -------------------------------------------------------------------------------- 1 | [1 true] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_a_invalid_utf8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_a_invalid_utf8.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_colon_instead_of_comma.json: -------------------------------------------------------------------------------- 1 | ["": 1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_comma_after_close.json: -------------------------------------------------------------------------------- 1 | [""], -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_comma_and_number.json: -------------------------------------------------------------------------------- 1 | [,1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_double_comma.json: -------------------------------------------------------------------------------- 1 | [1,,2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_double_extra_comma.json: -------------------------------------------------------------------------------- 1 | ["x",,] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_extra_close.json: -------------------------------------------------------------------------------- 1 | ["x"]] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_extra_comma.json: -------------------------------------------------------------------------------- 1 | ["",] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_incomplete.json: -------------------------------------------------------------------------------- 1 | ["x" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_incomplete_invalid_value.json: -------------------------------------------------------------------------------- 1 | [x -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_inner_array_no_comma.json: -------------------------------------------------------------------------------- 1 | [3[4]] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_invalid_utf8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_invalid_utf8.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_items_separated_by_semicolon.json: -------------------------------------------------------------------------------- 1 | [1:2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_just_comma.json: -------------------------------------------------------------------------------- 1 | [,] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_just_minus.json: -------------------------------------------------------------------------------- 1 | [-] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_missing_value.json: -------------------------------------------------------------------------------- 1 | [ , ""] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_newlines_unclosed.json: -------------------------------------------------------------------------------- 1 | ["a", 2 | 4 3 | ,1, -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_number_and_comma.json: -------------------------------------------------------------------------------- 1 | [1,] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_number_and_several_commas.json: -------------------------------------------------------------------------------- 1 | [1,,] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_spaces_vertical_tab_formfeed.json: -------------------------------------------------------------------------------- 1 | [" a"\f] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_star_inside.json: -------------------------------------------------------------------------------- 1 | [*] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_unclosed.json: -------------------------------------------------------------------------------- 1 | ["" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_unclosed_trailing_comma.json: -------------------------------------------------------------------------------- 1 | [1, -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_unclosed_with_new_lines.json: -------------------------------------------------------------------------------- 1 | [1, 2 | 1 3 | ,1 -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_array_unclosed_with_object_inside.json: -------------------------------------------------------------------------------- 1 | [{} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_incomplete_false.json: -------------------------------------------------------------------------------- 1 | [fals] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_incomplete_null.json: -------------------------------------------------------------------------------- 1 | [nul] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_incomplete_true.json: -------------------------------------------------------------------------------- 1 | [tru] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_multidigit_number_then_00.json: -------------------------------------------------------------------------------- 1 | 123 -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_++.json: -------------------------------------------------------------------------------- 1 | [++1234] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_+1.json: -------------------------------------------------------------------------------- 1 | [+1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_+Inf.json: -------------------------------------------------------------------------------- 1 | [+Inf] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_-01.json: -------------------------------------------------------------------------------- 1 | [-01] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_-1.0..json: -------------------------------------------------------------------------------- 1 | [-1.0.] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_-2..json: -------------------------------------------------------------------------------- 1 | [-2.] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_-NaN.json: -------------------------------------------------------------------------------- 1 | [-NaN] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_.-1.json: -------------------------------------------------------------------------------- 1 | [.-1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_.2e-3.json: -------------------------------------------------------------------------------- 1 | [.2e-3] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0.1.2.json: -------------------------------------------------------------------------------- 1 | [0.1.2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0.3e+.json: -------------------------------------------------------------------------------- 1 | [0.3e+] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0.3e.json: -------------------------------------------------------------------------------- 1 | [0.3e] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0.e1.json: -------------------------------------------------------------------------------- 1 | [0.e1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0_capital_E+.json: -------------------------------------------------------------------------------- 1 | [0E+] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0_capital_E.json: -------------------------------------------------------------------------------- 1 | [0E] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0e+.json: -------------------------------------------------------------------------------- 1 | [0e+] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_0e.json: -------------------------------------------------------------------------------- 1 | [0e] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_1.0e+.json: -------------------------------------------------------------------------------- 1 | [1.0e+] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_1.0e-.json: -------------------------------------------------------------------------------- 1 | [1.0e-] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_1.0e.json: -------------------------------------------------------------------------------- 1 | [1.0e] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_1_000.json: -------------------------------------------------------------------------------- 1 | [1 000.0] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_1eE2.json: -------------------------------------------------------------------------------- 1 | [1eE2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_2.e+3.json: -------------------------------------------------------------------------------- 1 | [2.e+3] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_2.e-3.json: -------------------------------------------------------------------------------- 1 | [2.e-3] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_2.e3.json: -------------------------------------------------------------------------------- 1 | [2.e3] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_9.e+.json: -------------------------------------------------------------------------------- 1 | [9.e+] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_Inf.json: -------------------------------------------------------------------------------- 1 | [Inf] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_NaN.json: -------------------------------------------------------------------------------- 1 | [NaN] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_U+FF11_fullwidth_digit_one.json: -------------------------------------------------------------------------------- 1 | [1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_expression.json: -------------------------------------------------------------------------------- 1 | [1+2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_hex_1_digit.json: -------------------------------------------------------------------------------- 1 | [0x1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_hex_2_digits.json: -------------------------------------------------------------------------------- 1 | [0x42] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_infinity.json: -------------------------------------------------------------------------------- 1 | [Infinity] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid+-.json: -------------------------------------------------------------------------------- 1 | [0e+-1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid-negative-real.json: -------------------------------------------------------------------------------- 1 | [-123.123foo] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid-utf-8-in-bigger-int.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid-utf-8-in-bigger-int.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid-utf-8-in-exponent.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid-utf-8-in-exponent.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid-utf-8-in-int.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_invalid-utf-8-in-int.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_minus_infinity.json: -------------------------------------------------------------------------------- 1 | [-Infinity] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_minus_sign_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | [-foo] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_minus_space_1.json: -------------------------------------------------------------------------------- 1 | [- 1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_neg_int_starting_with_zero.json: -------------------------------------------------------------------------------- 1 | [-012] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_neg_real_without_int_part.json: -------------------------------------------------------------------------------- 1 | [-.123] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_neg_with_garbage_at_end.json: -------------------------------------------------------------------------------- 1 | [-1x] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_real_garbage_after_e.json: -------------------------------------------------------------------------------- 1 | [1ea] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_real_with_invalid_utf8_after_e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_real_with_invalid_utf8_after_e.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_real_without_fractional_part.json: -------------------------------------------------------------------------------- 1 | [1.] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_starting_with_dot.json: -------------------------------------------------------------------------------- 1 | [.123] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_with_alpha.json: -------------------------------------------------------------------------------- 1 | [1.2a-3] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_with_alpha_char.json: -------------------------------------------------------------------------------- 1 | [1.8011670033376514H-308] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_number_with_leading_zero.json: -------------------------------------------------------------------------------- 1 | [012] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_bad_value.json: -------------------------------------------------------------------------------- 1 | ["x", truth] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_bracket_key.json: -------------------------------------------------------------------------------- 1 | {[: "x"} 2 | -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_comma_instead_of_colon.json: -------------------------------------------------------------------------------- 1 | {"x", null} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_double_colon.json: -------------------------------------------------------------------------------- 1 | {"x"::"b"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_emoji.json: -------------------------------------------------------------------------------- 1 | {🇨🇭} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_garbage_at_end.json: -------------------------------------------------------------------------------- 1 | {"a":"a" 123} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_key_with_single_quotes.json: -------------------------------------------------------------------------------- 1 | {key: 'value'} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_lone_continuation_byte_in_key_and_trailing_comma.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_lone_continuation_byte_in_key_and_trailing_comma.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_missing_colon.json: -------------------------------------------------------------------------------- 1 | {"a" b} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_missing_key.json: -------------------------------------------------------------------------------- 1 | {:"b"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_missing_semicolon.json: -------------------------------------------------------------------------------- 1 | {"a" "b"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_missing_value.json: -------------------------------------------------------------------------------- 1 | {"a": -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_no-colon.json: -------------------------------------------------------------------------------- 1 | {"a" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_non_string_key.json: -------------------------------------------------------------------------------- 1 | {1:1} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_non_string_key_but_huge_number_instead.json: -------------------------------------------------------------------------------- 1 | {9999E9999:1} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_repeated_null_null.json: -------------------------------------------------------------------------------- 1 | {null:null,null:null} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_several_trailing_commas.json: -------------------------------------------------------------------------------- 1 | {"id":0,,,,,} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_single_quote.json: -------------------------------------------------------------------------------- 1 | {'a':0} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_trailing_comma.json: -------------------------------------------------------------------------------- 1 | {"id":0,} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_trailing_comment.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}/**/ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_trailing_comment_open.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}/**// -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_trailing_comment_slash_open.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}// -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_trailing_comment_slash_open_incomplete.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}/ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_two_commas_in_a_row.json: -------------------------------------------------------------------------------- 1 | {"a":"b",,"c":"d"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_unquoted_key.json: -------------------------------------------------------------------------------- 1 | {a: "b"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_unterminated-value.json: -------------------------------------------------------------------------------- 1 | {"a":"a -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_with_single_string.json: -------------------------------------------------------------------------------- 1 | { "foo" : "bar", "a" } -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_object_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}# -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_single_space.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_1_surrogate_then_escape.json: -------------------------------------------------------------------------------- 1 | ["\uD800\"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_1_surrogate_then_escape_u.json: -------------------------------------------------------------------------------- 1 | ["\uD800\u"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_1_surrogate_then_escape_u1.json: -------------------------------------------------------------------------------- 1 | ["\uD800\u1"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_1_surrogate_then_escape_u1x.json: -------------------------------------------------------------------------------- 1 | ["\uD800\u1x"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_accentuated_char_no_quotes.json: -------------------------------------------------------------------------------- 1 | [é] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_backslash_00.json: -------------------------------------------------------------------------------- 1 | ["\"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_escape_x.json: -------------------------------------------------------------------------------- 1 | ["\x00"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_escaped_backslash_bad.json: -------------------------------------------------------------------------------- 1 | ["\\\"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_escaped_ctrl_char_tab.json: -------------------------------------------------------------------------------- 1 | ["\ "] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_escaped_emoji.json: -------------------------------------------------------------------------------- 1 | ["\🌀"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_incomplete_escape.json: -------------------------------------------------------------------------------- 1 | ["\"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_incomplete_escaped_character.json: -------------------------------------------------------------------------------- 1 | ["\u00A"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_incomplete_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\uD834\uDd"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_incomplete_surrogate_escape_invalid.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800\x"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_invalid-utf-8-in-escape.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_invalid-utf-8-in-escape.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_invalid_backslash_esc.json: -------------------------------------------------------------------------------- 1 | ["\a"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_invalid_unicode_escape.json: -------------------------------------------------------------------------------- 1 | ["\uqqqq"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_invalid_utf8_after_escape.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_invalid_utf8_after_escape.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_leading_uescaped_thinspace.json: -------------------------------------------------------------------------------- 1 | [\u0020"asd"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_no_quotes_with_bad_escape.json: -------------------------------------------------------------------------------- 1 | [\n] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_single_doublequote.json: -------------------------------------------------------------------------------- 1 | " -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_single_quote.json: -------------------------------------------------------------------------------- 1 | ['single quote'] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_single_string_no_double_quotes.json: -------------------------------------------------------------------------------- 1 | abc -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_start_escape_unclosed.json: -------------------------------------------------------------------------------- 1 | ["\ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_unescaped_ctrl_char.json: -------------------------------------------------------------------------------- 1 | ["aa"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_unescaped_newline.json: -------------------------------------------------------------------------------- 1 | ["new 2 | line"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_unescaped_tab.json: -------------------------------------------------------------------------------- 1 | [" "] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_unicode_CapitalU.json: -------------------------------------------------------------------------------- 1 | "\UA66D" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_string_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | ""x -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_U+2060_word_joined.json: -------------------------------------------------------------------------------- 1 | [⁠] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_UTF8_BOM_no_data.json: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_angle_bracket_..json: -------------------------------------------------------------------------------- 1 | <.> -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_angle_bracket_null.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_array_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | [1]x -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_array_with_extra_array_close.json: -------------------------------------------------------------------------------- 1 | [1]] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_array_with_unclosed_string.json: -------------------------------------------------------------------------------- 1 | ["asd] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_ascii-unicode-identifier.json: -------------------------------------------------------------------------------- 1 | aå -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_capitalized_True.json: -------------------------------------------------------------------------------- 1 | [True] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_close_unopened_array.json: -------------------------------------------------------------------------------- 1 | 1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_comma_instead_of_closing_brace.json: -------------------------------------------------------------------------------- 1 | {"x": true, -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_double_array.json: -------------------------------------------------------------------------------- 1 | [][] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_end_array.json: -------------------------------------------------------------------------------- 1 | ] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_incomplete_UTF8_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_incomplete_UTF8_BOM.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_lone-invalid-utf-8.json: -------------------------------------------------------------------------------- 1 | � -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_lone-open-bracket.json: -------------------------------------------------------------------------------- 1 | [ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_no_data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_no_data.json -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_null-byte-outside-string.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_number_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | 2@ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_object_followed_by_closing_object.json: -------------------------------------------------------------------------------- 1 | {}} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_object_unclosed_no_value.json: -------------------------------------------------------------------------------- 1 | {"": -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_object_with_comment.json: -------------------------------------------------------------------------------- 1 | {"a":/*comment*/"b"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_object_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | {"a": true} "x" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_array_apostrophe.json: -------------------------------------------------------------------------------- 1 | [' -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_array_comma.json: -------------------------------------------------------------------------------- 1 | [, -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_array_open_object.json: -------------------------------------------------------------------------------- 1 | [{ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_array_open_string.json: -------------------------------------------------------------------------------- 1 | ["a -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_array_string.json: -------------------------------------------------------------------------------- 1 | ["a" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_object.json: -------------------------------------------------------------------------------- 1 | { -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_object_close_array.json: -------------------------------------------------------------------------------- 1 | {] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_object_comma.json: -------------------------------------------------------------------------------- 1 | {, -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_object_open_array.json: -------------------------------------------------------------------------------- 1 | {[ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_object_open_string.json: -------------------------------------------------------------------------------- 1 | {"a -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_object_string_with_apostrophes.json: -------------------------------------------------------------------------------- 1 | {'a' -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_open_open.json: -------------------------------------------------------------------------------- 1 | ["\{["\{["\{["\{ -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_single_eacute.json: -------------------------------------------------------------------------------- 1 | � -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_single_star.json: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_trailing_#.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}#{} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_uescaped_LF_before_string.json: -------------------------------------------------------------------------------- 1 | [\u000A""] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_unclosed_array.json: -------------------------------------------------------------------------------- 1 | [1 -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_unclosed_array_partial_null.json: -------------------------------------------------------------------------------- 1 | [ false, nul -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_unclosed_array_unfinished_false.json: -------------------------------------------------------------------------------- 1 | [ true, fals -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_unclosed_array_unfinished_true.json: -------------------------------------------------------------------------------- 1 | [ false, tru -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_unclosed_object.json: -------------------------------------------------------------------------------- 1 | {"asd":"asd" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_unicode-identifier.json: -------------------------------------------------------------------------------- 1 | å -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_whitespace_U+2060_word_joiner.json: -------------------------------------------------------------------------------- 1 | [⁠] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/n_structure_whitespace_formfeed.json: -------------------------------------------------------------------------------- 1 | [ ] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_arraysWithSpaces.json: -------------------------------------------------------------------------------- 1 | [[] ] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_empty-string.json: -------------------------------------------------------------------------------- 1 | [""] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_empty.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_ending_with_newline.json: -------------------------------------------------------------------------------- 1 | ["a"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_false.json: -------------------------------------------------------------------------------- 1 | [false] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_heterogeneous.json: -------------------------------------------------------------------------------- 1 | [null, 1, "1", {}] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_null.json: -------------------------------------------------------------------------------- 1 | [null] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_with_1_and_newline.json: -------------------------------------------------------------------------------- 1 | [1 2 | ] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_with_leading_space.json: -------------------------------------------------------------------------------- 1 | [1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_with_several_null.json: -------------------------------------------------------------------------------- 1 | [1,null,null,null,2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_array_with_trailing_space.json: -------------------------------------------------------------------------------- 1 | [2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number.json: -------------------------------------------------------------------------------- 1 | [123e65] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_0e+1.json: -------------------------------------------------------------------------------- 1 | [0e+1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_0e1.json: -------------------------------------------------------------------------------- 1 | [0e1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_after_space.json: -------------------------------------------------------------------------------- 1 | [ 4] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_double_close_to_zero.json: -------------------------------------------------------------------------------- 1 | [-0.000000000000000000000000000000000000000000000000000000000000000000000000000001] 2 | -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_int_with_exp.json: -------------------------------------------------------------------------------- 1 | [20e1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_minus_zero.json: -------------------------------------------------------------------------------- 1 | [-0] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_negative_int.json: -------------------------------------------------------------------------------- 1 | [-123] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_negative_one.json: -------------------------------------------------------------------------------- 1 | [-1] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_negative_zero.json: -------------------------------------------------------------------------------- 1 | [-0] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_real_capital_e.json: -------------------------------------------------------------------------------- 1 | [1E22] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_real_capital_e_neg_exp.json: -------------------------------------------------------------------------------- 1 | [1E-2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_real_capital_e_pos_exp.json: -------------------------------------------------------------------------------- 1 | [1E+2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_real_exponent.json: -------------------------------------------------------------------------------- 1 | [123e45] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_real_fraction_exponent.json: -------------------------------------------------------------------------------- 1 | [123.456e78] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_real_neg_exp.json: -------------------------------------------------------------------------------- 1 | [1e-2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_real_pos_exponent.json: -------------------------------------------------------------------------------- 1 | [1e+2] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_simple_int.json: -------------------------------------------------------------------------------- 1 | [123] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_number_simple_real.json: -------------------------------------------------------------------------------- 1 | [123.456789] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object.json: -------------------------------------------------------------------------------- 1 | {"asd":"sdf", "dfg":"fgh"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_basic.json: -------------------------------------------------------------------------------- 1 | {"asd":"sdf"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_duplicated_key.json: -------------------------------------------------------------------------------- 1 | {"a":"b","a":"c"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_duplicated_key_and_value.json: -------------------------------------------------------------------------------- 1 | {"a":"b","a":"b"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_empty.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_empty_key.json: -------------------------------------------------------------------------------- 1 | {"":0} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_escaped_null_in_key.json: -------------------------------------------------------------------------------- 1 | {"foo\u0000bar": 42} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_extreme_numbers.json: -------------------------------------------------------------------------------- 1 | { "min": -1.0e+28, "max": 1.0e+28 } -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_long_strings.json: -------------------------------------------------------------------------------- 1 | {"x":[{"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}], "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_simple.json: -------------------------------------------------------------------------------- 1 | {"a":[]} -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_string_unicode.json: -------------------------------------------------------------------------------- 1 | {"title":"\u041f\u043e\u043b\u0442\u043e\u0440\u0430 \u0417\u0435\u043c\u043b\u0435\u043a\u043e\u043f\u0430" } -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_object_with_newlines.json: -------------------------------------------------------------------------------- 1 | { 2 | "a": "b" 3 | } -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json: -------------------------------------------------------------------------------- 1 | ["\u0060\u012a\u12AB"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_accepted_surrogate_pair.json: -------------------------------------------------------------------------------- 1 | ["\uD801\udc37"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_accepted_surrogate_pairs.json: -------------------------------------------------------------------------------- 1 | ["\ud83d\ude39\ud83d\udc8d"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_allowed_escapes.json: -------------------------------------------------------------------------------- 1 | ["\"\\\/\b\f\n\r\t"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_backslash_and_u_escaped_zero.json: -------------------------------------------------------------------------------- 1 | ["\\u0000"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_backslash_doublequotes.json: -------------------------------------------------------------------------------- 1 | ["\""] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_comments.json: -------------------------------------------------------------------------------- 1 | ["a/*b*/c/*d//e"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_double_escape_a.json: -------------------------------------------------------------------------------- 1 | ["\\a"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_double_escape_n.json: -------------------------------------------------------------------------------- 1 | ["\\n"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_escaped_control_character.json: -------------------------------------------------------------------------------- 1 | ["\u0012"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_escaped_noncharacter.json: -------------------------------------------------------------------------------- 1 | ["\uFFFF"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_in_array.json: -------------------------------------------------------------------------------- 1 | ["asd"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_in_array_with_leading_space.json: -------------------------------------------------------------------------------- 1 | [ "asd"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_last_surrogates_1_and_2.json: -------------------------------------------------------------------------------- 1 | ["\uDBFF\uDFFF"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_nbsp_uescaped.json: -------------------------------------------------------------------------------- 1 | ["new\u00A0line"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json: -------------------------------------------------------------------------------- 1 | ["􏿿"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json: -------------------------------------------------------------------------------- 1 | ["￿"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_null_escape.json: -------------------------------------------------------------------------------- 1 | ["\u0000"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_one-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u002c"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_pi.json: -------------------------------------------------------------------------------- 1 | ["π"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_reservedCharacterInUTF-8_U+1BFFF.json: -------------------------------------------------------------------------------- 1 | ["𛿿"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_simple_ascii.json: -------------------------------------------------------------------------------- 1 | ["asd "] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_space.json: -------------------------------------------------------------------------------- 1 | " " -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json: -------------------------------------------------------------------------------- 1 | ["\uD834\uDd1e"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_three-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0821"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_two-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0123"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_u+2028_line_sep.json: -------------------------------------------------------------------------------- 1 | ["
"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_u+2029_par_sep.json: -------------------------------------------------------------------------------- 1 | ["
"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_uEscape.json: -------------------------------------------------------------------------------- 1 | ["\u0061\u30af\u30EA\u30b9"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_uescaped_newline.json: -------------------------------------------------------------------------------- 1 | ["new\u000Aline"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unescaped_char_delete.json: -------------------------------------------------------------------------------- 1 | [""] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode.json: -------------------------------------------------------------------------------- 1 | ["\uA66D"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicodeEscapedBackslash.json: -------------------------------------------------------------------------------- 1 | ["\u005C"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_2.json: -------------------------------------------------------------------------------- 1 | ["⍂㈴⍂"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_U+10FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uDBFF\uDFFE"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_U+1FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uD83F\uDFFE"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json: -------------------------------------------------------------------------------- 1 | ["\u200B"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_U+2064_invisible_plus.json: -------------------------------------------------------------------------------- 1 | ["\u2064"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_U+FDD0_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uFDD0"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_U+FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uFFFE"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_unicode_escaped_double_quote.json: -------------------------------------------------------------------------------- 1 | ["\u0022"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_utf8.json: -------------------------------------------------------------------------------- 1 | ["€𝄞"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_string_with_del_character.json: -------------------------------------------------------------------------------- 1 | ["aa"] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_lonely_false.json: -------------------------------------------------------------------------------- 1 | false -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_lonely_int.json: -------------------------------------------------------------------------------- 1 | 42 -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_lonely_negative_real.json: -------------------------------------------------------------------------------- 1 | -0.1 -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_lonely_null.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_lonely_string.json: -------------------------------------------------------------------------------- 1 | "asd" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_lonely_true.json: -------------------------------------------------------------------------------- 1 | true -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_string_empty.json: -------------------------------------------------------------------------------- 1 | "" -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_trailing_newline.json: -------------------------------------------------------------------------------- 1 | ["a"] 2 | -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_true_in_array.json: -------------------------------------------------------------------------------- 1 | [true] -------------------------------------------------------------------------------- /codecs/json-codec/src/test/resources/software/amazon/smithy/java/json/tests/test_parsing/y_structure_whitespace_array.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /codecs/xml-codec/README.md: -------------------------------------------------------------------------------- 1 | ## xml-codec 2 | Provides a codec for serializing or deserializing XML data to/from 3 | Smithy-Java `SerializableShape`'s. 4 | 5 | XML Protocol implementation can use this package to provide basic serde. 6 | -------------------------------------------------------------------------------- /codecs/xml-codec/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides XML functionality" 6 | 7 | extra["displayName"] = "Smithy :: Java :: XML" 8 | extra["moduleName"] = "software.amazon.smithy.java.xml" 9 | 10 | dependencies { 11 | api(project(":core")) 12 | } 13 | -------------------------------------------------------------------------------- /codegen/codegen-core/README.md: -------------------------------------------------------------------------------- 1 | ## codegen-core 2 | Provides the base functionality for Java code generation used 3 | by all Smithy Java codegen plugins. 4 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/authScheme.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test 4 | 5 | operation AllAuth { 6 | input := { 7 | string: String 8 | } 9 | } 10 | 11 | @auth([httpBasicAuth]) 12 | operation ScopedAuth { 13 | input := { 14 | string: String 15 | } 16 | } 17 | 18 | @auth([]) 19 | operation NoAuth { 20 | input := { 21 | string: String 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/enums/enum-tests.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.enums 4 | 5 | resource EnumTests { 6 | operations: [ 7 | NonSequentialIntEnum 8 | UnsafeValueName 9 | LowerCaseVariantNames 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/enums/non-sequential.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.enums 4 | 5 | /// Test only checks for successful compilation 6 | operation NonSequentialIntEnum { 7 | input := { 8 | enum: NonSequential 9 | } 10 | } 11 | 12 | intEnum NonSequential { 13 | ONE = 1 14 | TEN = 10 15 | TWO = 2 16 | TWENTY = 20 17 | } 18 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/enums/unsafe-value-name.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.enums 4 | 5 | /// Test only checks for successful compilation 6 | operation UnsafeValueName { 7 | input := { 8 | enum: UnsafeValueEnum 9 | } 10 | } 11 | 12 | @private 13 | enum UnsafeValueEnum { 14 | A = "./U/Y/Q/.../?" 15 | B = "/////////////" 16 | } 17 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/idempotencytoken/idempotency-token.smithy: -------------------------------------------------------------------------------- 1 | $version: "2.0" 2 | 3 | namespace smithy.java.codegen.test.idempotencytoken 4 | 5 | operation IdempotencyTokenRequired { 6 | input := { 7 | @idempotencyToken 8 | @required 9 | token: String 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/lists/list-tests.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.lists 4 | 5 | resource ListTests { 6 | operations: [ 7 | ListAllTypes 8 | NestedLists 9 | SetsAllTypes 10 | SparseLists 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/maps/enum-map-keys.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.maps 4 | 5 | operation EnumMapKeys { 6 | input := { 7 | mapOfEnumValue: EnumKeyMap 8 | } 9 | } 10 | 11 | map EnumKeyMap { 12 | key: EnumKey 13 | value: String 14 | } 15 | 16 | enum EnumKey { 17 | A 18 | B 19 | C 20 | D 21 | } 22 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/maps/map-tests.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.maps 4 | 5 | resource MapTests { 6 | operations: [ 7 | MapAllTypes 8 | NestedMaps 9 | SparseMaps 10 | EnumMapKeys 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/recursion/multiple-recursion.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.recursion 4 | 5 | operation MultipleRecursion { 6 | input := { 7 | attributeValue: AttributeValue 8 | } 9 | } 10 | 11 | union AttributeValue { 12 | M: MapAttributeValue 13 | L: ListAttributeValue 14 | } 15 | 16 | map MapAttributeValue { 17 | key: String 18 | value: AttributeValue 19 | } 20 | 21 | list ListAttributeValue { 22 | member: AttributeValue 23 | } 24 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/recursion/mutual-recursion-list.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.recursion 4 | 5 | operation RecursiveLists { 6 | input := { 7 | recursiveList: RecursiveList 8 | } 9 | } 10 | 11 | @private 12 | list RecursiveList { 13 | member: IntermediateListStructure 14 | } 15 | 16 | @private 17 | structure IntermediateListStructure { 18 | foo: RecursiveList 19 | } 20 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/recursion/mutual-recursion-map.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.recursion 4 | 5 | operation RecursiveMaps { 6 | input := { 7 | recursiveMap: RecursiveMap 8 | } 9 | } 10 | 11 | @private 12 | map RecursiveMap { 13 | key: String 14 | value: IntermediateMapStructure 15 | } 16 | 17 | @private 18 | structure IntermediateMapStructure { 19 | foo: RecursiveMap 20 | } 21 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/recursion/mutual-recursion-struct.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.recursion 4 | 5 | operation RecursiveStructs { 6 | input := { 7 | recursiveStructs: RecursiveStructA 8 | } 9 | } 10 | 11 | @private 12 | structure RecursiveStructA { 13 | b: RecursiveStructB 14 | } 15 | 16 | @private 17 | structure RecursiveStructB { 18 | a: RecursiveStructA 19 | } 20 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/recursion/recursion-tests.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.recursion 4 | 5 | resource RecursionTests { 6 | operations: [ 7 | RecursiveLists 8 | RecursiveMaps 9 | RecursiveStructs 10 | SelfReference 11 | MultipleRecursion 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/recursion/self-referential-shape.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.recursion 4 | 5 | operation SelfReference { 6 | input := { 7 | selfReferentialShape: SelfReferencing 8 | } 9 | } 10 | 11 | @private 12 | structure SelfReferencing { 13 | self: SelfReferencing 14 | } 15 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/big-decimal-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation BigDecimalMembers { 6 | input := { 7 | @required 8 | requiredBigDecimal: BigDecimal 9 | 10 | optionalBigDecimal: BigDecimal 11 | 12 | @default(1.0) 13 | defaultBigDecimal: BigDecimal 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/big-integer-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation BigIntegerMembers { 6 | input := { 7 | @required 8 | requiredBigInteger: BigInteger 9 | 10 | optionalBigInteger: BigInteger 11 | 12 | @default(1) 13 | defaultBigInteger: BigInteger 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/blob-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation BlobMembers { 6 | input := { 7 | @required 8 | requiredBlob: Blob 9 | 10 | optionalBlob: Blob 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/boolean-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation BooleanMembers { 6 | input := { 7 | @required 8 | requiredBoolean: Boolean 9 | 10 | @default(true) 11 | defaultBoolean: Boolean 12 | 13 | optionalBoolean: Boolean 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/byte-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation ByteMembers { 6 | input := { 7 | @required 8 | requiredByte: Byte 9 | 10 | optionalByte: Byte 11 | 12 | @default(1) 13 | defaultByte: Byte 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/document-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation DocumentMembers { 6 | input := { 7 | @required 8 | requiredDoc: Document 9 | 10 | optionalDocument: Document 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/double-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation DoubleMembers { 6 | input := { 7 | @required 8 | requiredDouble: Double 9 | 10 | optionalDouble: Double 11 | 12 | @default(1.0) 13 | defaultDouble: Double 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/enum-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation EnumMembers { 6 | input := { 7 | @required 8 | requiredEnum: EnumType 9 | 10 | @default("option-one") 11 | defaultEnum: EnumType 12 | 13 | optionalEnum: EnumType 14 | } 15 | } 16 | 17 | @private 18 | enum EnumType { 19 | OPTION_ONE = "option-one" 20 | OPTION_TWO = "option-two" 21 | } 22 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/float-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation FloatMembers { 6 | input := { 7 | @required 8 | requiredFloat: Float 9 | 10 | optionalFloat: Float 11 | 12 | @default(1.0) 13 | defaultFloat: Float 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/int-enum-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation IntEnumMembers { 6 | input := { 7 | @required 8 | requiredEnum: IntEnumType 9 | 10 | @default(1) 11 | defaultEnum: IntEnumType 12 | 13 | optionalEnum: IntEnumType 14 | } 15 | } 16 | 17 | @private 18 | intEnum IntEnumType { 19 | OPTION_ONE = 1 20 | OPTION_TWO = 10 21 | } 22 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/integer-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation IntegerMembers { 6 | input := { 7 | @required 8 | requiredInt: Integer 9 | 10 | optionalInt: Integer 11 | 12 | @default(1) 13 | defaultInt: Integer 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/long-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation LongMembers { 6 | input := { 7 | @required 8 | requiredLongs: Long 9 | 10 | optionalLongs: Long 11 | 12 | @default(1) 13 | defaultShort: Long 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/map-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation MapMembers { 6 | input := { 7 | @required 8 | requiredMap: MapStringString 9 | 10 | optionalMap: MapStringString 11 | 12 | // Map defaults can only be empty 13 | @default({}) 14 | defaultMap: MapStringString 15 | } 16 | } 17 | 18 | map MapStringString { 19 | key: String 20 | value: String 21 | } 22 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/short-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation ShortMembers { 6 | input := { 7 | @required 8 | requiredShort: Short 9 | 10 | optionalShort: Short 11 | 12 | @default(1) 13 | defaultShort: Short 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/streaming-blob-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | use smithy.java.codegen.test.common#StreamingBlob 6 | 7 | /// This operation tests only compilation. 8 | operation StreamingBlobMembers { 9 | input := { 10 | // A streaming blob member. Streaming blobs must be marked as required 11 | @required 12 | streamingBlob: StreamingBlob 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/string-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation StringMembers { 6 | input := { 7 | @required 8 | requiredString: String 9 | 10 | @default("default") 11 | defaultString: String 12 | 13 | optionalString: String 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/structure-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | use smithy.java.codegen.test.common#NestedStruct 6 | 7 | operation StructureMembers { 8 | input := { 9 | @required 10 | requiredStruct: NestedStruct 11 | 12 | optionalStruct: NestedStruct 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/timestamp-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | operation TimestampMembers { 6 | input := { 7 | @required 8 | requiredTimestamp: Timestamp 9 | 10 | optionalTimestamp: Timestamp 11 | 12 | @default("1985-04-12T23:20:50.52Z") 13 | defaultTimestamp: Timestamp 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/structures/union-members.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.structures 4 | 5 | use smithy.java.codegen.test.common#NestedUnion 6 | 7 | operation UnionMembers { 8 | input := { 9 | @required 10 | requiredUnion: NestedUnion 11 | 12 | optionalUnion: NestedUnion 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/it/resources/META-INF/smithy/unions/union-tests.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.test.unions 4 | 5 | resource UnionTests { 6 | operations: [ 7 | UnionAllTypes 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/main/resources/META-INF/services/software.amazon.smithy.java.codegen.JavaCodegenIntegration: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.integrations.javadoc.JavadocIntegration 2 | software.amazon.smithy.java.codegen.integrations.core.CoreIntegration 3 | software.amazon.smithy.java.codegen.integrations.externaltypes.ExternalTypesIntegration 4 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/main/resources/software/amazon/smithy/java/codegen/smithy-reserved-members.txt: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | # Member names reserved for Smithy interfaces or fields that are generated into 6 | # customer-defined objects. Member getters with any of these names will attempt 7 | # to override APIs reserved for Smithy's use unless escaped. 8 | # 9 | # Note: Only zero-args methods are a problem here. 10 | innerDeserializer 11 | schema 12 | serializer 13 | -------------------------------------------------------------------------------- /codegen/codegen-core/src/main/resources/software/amazon/smithy/java/codegen/smithy-reserved-methods.txt: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | # Member names reserved for Smithy interfaces or fields that are generated into 6 | # customer-defined objects. Member getters with any of these names will attempt 7 | # to override APIs reserved for Smithy's use unless escaped. 8 | # 9 | # Note: Only zero-args methods are a problem here. 10 | getClass -------------------------------------------------------------------------------- /codegen/codegen-core/src/test/resources/META-INF/services/software.amazon.smithy.model.traits.TraitService: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.CodegenContextTest$SelectedTrait$Provider -------------------------------------------------------------------------------- /codegen/integrations/waiters-codegen/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the Smithy Java Waiter codegen integration" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Codegen :: Waiters" 8 | extra["moduleName"] = "software.amazon.smithy.java.codegen.waiters" 9 | 10 | dependencies { 11 | implementation(project(":client:client-waiters")) 12 | implementation(project(":codegen:plugins:client-codegen")) 13 | } 14 | -------------------------------------------------------------------------------- /codegen/integrations/waiters-codegen/src/main/resources/META-INF/services/software.amazon.smithy.java.codegen.JavaCodegenIntegration: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.client.waiters.WaiterCodegenIntegration 2 | -------------------------------------------------------------------------------- /codegen/plugins/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | id("smithy-java.publishing-conventions") 4 | } 5 | 6 | description = "This module provides java code generation plugins for Smithy" 7 | 8 | extra["displayName"] = "Smithy :: Java :: Codegen :: Plugins" 9 | extra["moduleName"] = "software.amazon.smithy.java.codegen.plugins" 10 | 11 | dependencies { 12 | subprojects.forEach { api(project(it.path)) } 13 | } 14 | -------------------------------------------------------------------------------- /codegen/plugins/client-codegen/README.md: -------------------------------------------------------------------------------- 1 | ### codegen-client 2 | Codegen plugin to generate a Java client from a Smithy model. 3 | -------------------------------------------------------------------------------- /codegen/plugins/client-codegen/src/it/resources/META-INF/smithy/manifest: -------------------------------------------------------------------------------- 1 | main.smithy 2 | test-auth-scheme.smithy 3 | -------------------------------------------------------------------------------- /codegen/plugins/client-codegen/src/it/resources/META-INF/smithy/test-auth-scheme.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.test.auth 4 | 5 | @trait 6 | @authDefinition 7 | structure testAuthScheme {} 8 | -------------------------------------------------------------------------------- /codegen/plugins/client-codegen/src/main/resources/META-INF/services/software.amazon.smithy.build.SmithyBuildPlugin: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.client.JavaClientCodegenPlugin 2 | -------------------------------------------------------------------------------- /codegen/plugins/client-codegen/src/test/java/software/amazon/smithy/java/codegen/client/settings/NestedSettings.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.codegen.client.settings; 7 | 8 | import software.amazon.smithy.java.client.core.ClientSetting; 9 | 10 | public interface NestedSettings> extends AbSetting, Nested {} 11 | -------------------------------------------------------------------------------- /codegen/plugins/client-codegen/src/test/resources/META-INF/services/software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeFactory: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.client.TestAuthScheme$Factory 2 | -------------------------------------------------------------------------------- /codegen/plugins/client-codegen/src/test/resources/META-INF/services/software.amazon.smithy.model.traits.TraitService: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.client.TestAuthSchemeTrait$Provider 2 | -------------------------------------------------------------------------------- /codegen/plugins/server-codegen/README.md: -------------------------------------------------------------------------------- 1 | ### codegen-server 2 | Codegen plugin to generate Java server stubs from a Smithy model. 3 | -------------------------------------------------------------------------------- /codegen/plugins/server-codegen/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.codegen-plugin-conventions") 3 | } 4 | 5 | description = "This module provides the codegen plugin for Smithy java server codegen" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Codegen :: Server" 8 | extra["moduleName"] = "software.amazon.smithy.java.codegen.server" 9 | 10 | dependencies { 11 | implementation(project(":server:server-core")) 12 | } 13 | 14 | addGenerateSrcsTask("software.amazon.smithy.java.codegen.server.TestServerJavaCodegenRunner") 15 | -------------------------------------------------------------------------------- /codegen/plugins/server-codegen/src/it/resources/META-INF/smithy/manifest: -------------------------------------------------------------------------------- 1 | main.smithy 2 | -------------------------------------------------------------------------------- /codegen/plugins/server-codegen/src/main/resources/META-INF/services/software.amazon.smithy.build.SmithyBuildPlugin: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.server.JavaServerCodegenPlugin 2 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/README.md: -------------------------------------------------------------------------------- 1 | ### codegen-types 2 | Codegen plugin to generate standalone "plain old Java objects" (POJOs) 3 | from a Smithy model. 4 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.codegen-plugin-conventions") 3 | } 4 | 5 | description = "This module provides the codegen plugin for Smithy java type codegen" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Codegen :: Types" 8 | extra["moduleName"] = "software.amazon.smithy.java.codegen.types" 9 | 10 | addGenerateSrcsTask("software.amazon.smithy.java.codegen.types.TestJavaTypeCodegenRunner") 11 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/src/it/resources/META-INF/smithy/a.smithy: -------------------------------------------------------------------------------- 1 | $version: "2.0" 2 | 3 | namespace smithy.java.codegen.types.test 4 | 5 | use smithy.java.codegen.types.nested.test#NestedIntEnum 6 | 7 | structure UsesOtherStructs { 8 | nested: NestedIntEnum 9 | other: MyStruct 10 | } 11 | 12 | union MyUnion { 13 | optionA: String 14 | optionB: Integer 15 | } 16 | 17 | structure A { 18 | value: String 19 | b: B 20 | } 21 | 22 | structure B { 23 | a: A 24 | } 25 | 26 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/src/it/resources/META-INF/smithy/b.smithy: -------------------------------------------------------------------------------- 1 | $version: "2.0" 2 | 3 | namespace smithy.java.codegen.types.test 4 | 5 | enum YesOrNo { 6 | YES 7 | NO 8 | } 9 | 10 | structure MyStruct { 11 | fieldA: String 12 | fieldB: MyNestedStruct 13 | } 14 | 15 | @private 16 | structure MyNestedStruct { 17 | fieldC: Integer 18 | fieldD: Float 19 | } 20 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/src/it/resources/META-INF/smithy/manifest: -------------------------------------------------------------------------------- 1 | a.smithy 2 | b.smithy 3 | nested/c.smithy 4 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/src/it/resources/META-INF/smithy/nested/c.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.types.nested.test 4 | 5 | intEnum NestedIntEnum { 6 | ONE = 1 7 | TWO = 2 8 | THREE = 3 9 | } 10 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/src/main/resources/META-INF/services/software.amazon.smithy.build.SmithyBuildPlugin: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.codegen.types.JavaTypeCodegenPlugin 2 | -------------------------------------------------------------------------------- /codegen/plugins/types-codegen/src/test/resources/software/amazon/smithy/java/codegen/types/types.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.java.codegen.types.test 4 | 5 | structure StructureShape { 6 | fieldA: String 7 | fieldB: String 8 | } 9 | 10 | union UnionShape { 11 | variantA: String 12 | variantB: Integer 13 | } 14 | 15 | enum EnumShape { 16 | A 17 | B 18 | } 19 | 20 | intEnum IntEnumShape { 21 | ONE = 1 22 | TWO = 2 23 | } 24 | -------------------------------------------------------------------------------- /config/logging/logging.properties: -------------------------------------------------------------------------------- 1 | .level = WARNING -------------------------------------------------------------------------------- /config/spotless/license-header.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | -------------------------------------------------------------------------------- /context/README.md: -------------------------------------------------------------------------------- 1 | ## context 2 | Provides a typed property map that can be used to store 3 | contextual data. 4 | -------------------------------------------------------------------------------- /context/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides a typed identity based collection" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Context" 8 | extra["moduleName"] = "software.amazon.smithy.java.context" 9 | -------------------------------------------------------------------------------- /core/README.md: -------------------------------------------------------------------------------- 1 | ## core 2 | Provides the core functionality common to all clients and servers 3 | using the Smithy Java framework. 4 | -------------------------------------------------------------------------------- /core/src/main/java/software/amazon/smithy/java/core/schema/ApiService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.core.schema; 7 | 8 | /** 9 | * Represents a modeled Smithy service. 10 | */ 11 | public interface ApiService { 12 | /** 13 | * Get the schema of the service. 14 | * 15 | * @return Returns the service schema, including the shape ID and relevant traits. 16 | */ 17 | Schema schema(); 18 | } 19 | -------------------------------------------------------------------------------- /core/src/main/java/software/amazon/smithy/java/core/serde/event/EventDecoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.core.serde.event; 7 | 8 | import software.amazon.smithy.java.core.schema.SerializableStruct; 9 | 10 | public interface EventDecoder> { 11 | 12 | SerializableStruct decode(F frame); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /core/src/main/java/software/amazon/smithy/java/core/serde/event/EventDecoderFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.core.serde.event; 7 | 8 | public interface EventDecoderFactory> { 9 | 10 | EventDecoder newEventDecoder(); 11 | 12 | FrameDecoder newFrameDecoder(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /core/src/main/java/software/amazon/smithy/java/core/serde/event/EventEncoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.core.serde.event; 7 | 8 | import software.amazon.smithy.java.core.schema.SerializableStruct; 9 | 10 | public interface EventEncoder> { 11 | 12 | F encode(SerializableStruct item); 13 | 14 | F encodeFailure(Throwable exception); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /core/src/main/java/software/amazon/smithy/java/core/serde/event/Frame.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.core.serde.event; 7 | 8 | /** 9 | * A frame wraps the data for one event streaming event with metadata for signing and validation. 10 | */ 11 | public interface Frame { 12 | T unwrap(); 13 | } 14 | -------------------------------------------------------------------------------- /core/src/main/resources/software/amazon/smithy/java/core/version.properties: -------------------------------------------------------------------------------- 1 | # Do NOT update this here. It is updated to the correct 2 | # version as part of the gradle build process 3 | version=@SmithyJavaVersion@ 4 | -------------------------------------------------------------------------------- /dynamic-schemas/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides a way to dynamically create Smithy Java schemas from a model" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Dynamic Schemas" 8 | extra["moduleName"] = "software.amazon.smithy.java.dynamicschemas" 9 | 10 | dependencies { 11 | api(project(":core")) 12 | 13 | testImplementation(project(":codecs:json-codec", configuration = "shadow")) 14 | } 15 | -------------------------------------------------------------------------------- /dynamic-schemas/src/main/java/software/amazon/smithy/java/dynamicschemas/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.dynamicschemas; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /examples/basic-server/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Example file license header. 3 | * File header line two 4 | */ -------------------------------------------------------------------------------- /examples/basic-server/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Basic usage of generated server stubs. 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | } 11 | 12 | repositories { 13 | mavenLocal() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | rootProject.name = "BasicSmithyJavaServer" 20 | -------------------------------------------------------------------------------- /examples/basic-server/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-server-codegen": { 5 | "service": "smithy.example#BeerService", 6 | "namespace": "software.amazon.smithy.java.server.example", 7 | "headerFile": "license.txt" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/build.gradle.kts: -------------------------------------------------------------------------------- 1 | 2 | // Substitute any maven module dependencies with and project dependencies 3 | subprojects { 4 | group = "software.amazon.smithy.java.example" 5 | 6 | configurations.all { 7 | resolutionStrategy.dependencySubstitution { 8 | rootProject.allprojects.forEach { 9 | substitute(module("${it.group}:${it.name}")).using(project(it.path)) 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/dynamodb-client/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated client from DynamoDB service model 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | } 11 | 12 | repositories { 13 | mavenLocal() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | rootProject.name = "DynamoDBClient" 20 | -------------------------------------------------------------------------------- /examples/dynamodb-client/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-client-codegen": { 5 | "service": "com.amazonaws.dynamodb#DynamoDB_20120810", 6 | "name": "DynamoDB", 7 | "namespace": "software.amazon.smithy.java.example.dynamodb", 8 | "protocol": "aws.protocols#awsJson1_0", 9 | "defaultSettings": [ 10 | "software.amazon.smithy.java.aws.client.auth.scheme.sigv4.SigV4Settings" 11 | ], 12 | "transport": { 13 | "http-java": {} 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/end-to-end/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Example file license header. 3 | * File header line two 4 | */ 5 | -------------------------------------------------------------------------------- /examples/end-to-end/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Example combining client and server into a single end-to-end example. 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | } 11 | 12 | repositories { 13 | mavenLocal() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | rootProject.name = "End-To-End" 20 | -------------------------------------------------------------------------------- /examples/end-to-end/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-client-codegen": { 5 | "service": "com.example#CoffeeShop", 6 | "namespace": "software.amazon.smithy.java.example.etoe", 7 | "headerFile": "license.txt", 8 | "protocol": "aws.protocols#restJson1" 9 | }, 10 | "java-server-codegen": { 11 | "service": "com.example#CoffeeShop", 12 | "namespace": "software.amazon.smithy.java.example.etoe", 13 | "headerFile": "license.txt", 14 | "useExternalTypes": true 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/event-streaming-client/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Client that can send and recieve event streams 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | } 11 | 12 | repositories { 13 | mavenLocal() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | rootProject.name = "EventStreamingClient" 20 | -------------------------------------------------------------------------------- /examples/event-streaming-client/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-client-codegen": { 5 | "service": "smithy.example.eventstreaming#FizzBuzzService", 6 | "namespace": "software.amazon.smithy.java.example.eventstreaming", 7 | "protocol": "aws.protocols#restJson1" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/gradle.properties: -------------------------------------------------------------------------------- 1 | smithyJavaVersion=[0,1] 2 | smithyGradleVersion=1.1.0 3 | smithyVersion=[1,2] 4 | -------------------------------------------------------------------------------- /examples/lambda/events/add-beer.json: -------------------------------------------------------------------------------- 1 | { 2 | "path": "/add-beer", 3 | "httpMethod": "POST", 4 | "body": "{\"beer\": { \"name\": \"Oatmeal Stout\", \"quantity\": 1 } }" 5 | } -------------------------------------------------------------------------------- /examples/lambda/events/get-beer.json: -------------------------------------------------------------------------------- 1 | { 2 | "path": "/get-beer", 3 | "httpMethod": "POST", 4 | "body": "{\"id\": \"TXVuaWNoIEhlbGxlcw==\"}" 5 | } -------------------------------------------------------------------------------- /examples/lambda/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Smithy Java AWS Lambda Endpoint 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | } 11 | 12 | repositories { 13 | mavenLocal() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | rootProject.name = "LambdaEndpoint" 20 | -------------------------------------------------------------------------------- /examples/lambda/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-server-codegen": { 5 | "service": "smithy.example#BeerService", 6 | "namespace": "software.amazon.smithy.java.example.lambda" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/mcp-server/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Example file license header. 3 | * File header line two 4 | */ -------------------------------------------------------------------------------- /examples/mcp-server/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Basic usage of generated server stubs. 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | id("com.gradleup.shadow").version("8.3.5") 11 | } 12 | 13 | repositories { 14 | mavenLocal() 15 | mavenCentral() 16 | gradlePluginPortal() 17 | } 18 | } 19 | 20 | rootProject.name = "SmithyJavaMCPServer" 21 | -------------------------------------------------------------------------------- /examples/mcp-server/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "sources" : ["src/main/resources/software/amazon/smithy/java/example/server/mcp"], 4 | "plugins": { 5 | "java-server-codegen": { 6 | "service": "smithy.example.mcp#EmployeeService", 7 | "namespace": "software.amazon.smithy.java.example.server.mcp", 8 | "headerFile": "license.txt", 9 | "runtimeTraits": ["smithy.api#documentation", "smithy.api#examples" ] 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /examples/restjson-client/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Example license header. 3 | * File header line two 4 | */ 5 | -------------------------------------------------------------------------------- /examples/restjson-client/model/common.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.example 4 | 5 | @streaming 6 | blob Stream 7 | 8 | @sensitive 9 | timestamp Birthday 10 | 11 | map MapListString { 12 | key: String 13 | value: ListOfString 14 | } 15 | 16 | list ListOfString { 17 | @length(min: 1) 18 | member: String 19 | } 20 | -------------------------------------------------------------------------------- /examples/restjson-client/model/errors.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.example 4 | 5 | @error("client") 6 | @httpError(403) 7 | structure ValidationError { 8 | @required 9 | message: String 10 | } 11 | -------------------------------------------------------------------------------- /examples/restjson-client/model/main.smithy: -------------------------------------------------------------------------------- 1 | $version: "2" 2 | 3 | namespace smithy.example 4 | 5 | use aws.protocols#restJson1 6 | 7 | @restJson1 8 | service PersonDirectory { 9 | version: "01-01-2040" 10 | resources: [ 11 | Person 12 | ] 13 | errors: [ 14 | ValidationError 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /examples/restjson-client/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Client using RestJson1 as the default protocol. 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | } 11 | 12 | repositories { 13 | mavenLocal() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | rootProject.name = "RestJson1Client" 20 | -------------------------------------------------------------------------------- /examples/restjson-client/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-client-codegen": { 5 | "service": "smithy.example#PersonDirectory", 6 | "namespace": "software.amazon.smithy.java.example.restjson", 7 | "headerFile": "license.txt", 8 | "protocol": "aws.protocols#restJson1", 9 | "transport": { 10 | "http-java": {} 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/restjson-client/src/jmh/resources/software/amazon/smithy/java/all_fields_optional_0.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /examples/restjson-client/src/jmh/resources/software/amazon/smithy/java/all_fields_optional_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "string1": "1" 3 | } 4 | -------------------------------------------------------------------------------- /examples/restjson-client/src/jmh/resources/software/amazon/smithy/java/all_fields_optional_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "string1": "1", 3 | "string2": "2", 4 | "string3": "3" 5 | } 6 | -------------------------------------------------------------------------------- /examples/restjson-client/src/jmh/resources/software/amazon/smithy/java/all_fields_optional_5.json: -------------------------------------------------------------------------------- 1 | { 2 | "string1": "1", 3 | "string2": "2", 4 | "string3": "3", 5 | "string4": "4", 6 | "string5": "5" 7 | } 8 | -------------------------------------------------------------------------------- /examples/restjson-client/src/jmh/resources/software/amazon/smithy/java/all_fields_optional_6.json: -------------------------------------------------------------------------------- 1 | { 2 | "string1": "1", 3 | "string2": "2", 4 | "string3": "3", 5 | "string4": "4", 6 | "string5": "5", 7 | "string6": "6" 8 | } 9 | -------------------------------------------------------------------------------- /examples/restjson-client/src/jmh/resources/software/amazon/smithy/java/struct_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "bool1": true, 3 | "d": 1.5, 4 | "f": 3.700000047683716, 5 | "i": 9182741, 6 | "l": 1, 7 | "optionalInt": 2147483647, 8 | "requiredStruct": { 9 | "string": "howdy", 10 | "timestamp": 123.456 11 | }, 12 | "signedI": 1, 13 | "string": "really cool string 0 false", 14 | "stringMap": {} 15 | } 16 | -------------------------------------------------------------------------------- /examples/standalone-types/README.md: -------------------------------------------------------------------------------- 1 | ## Examples: Standalone Types 2 | Package that generates Java types for a model without a service. 3 | 4 | ### Usage 5 | To use this example as a template, run the following command with the [Smithy CLI](https://smithy.io/2.0/guides/smithy-cli/index.html): 6 | 7 | ```console 8 | smithy init -t restjson-client --url https://github.com/smithy-lang/smithy-java 9 | ``` 10 | 11 | or 12 | 13 | ```console 14 | smithy init -t standalone-types --url git@github.com:smithy-lang/smithy-java.git 15 | ``` 16 | -------------------------------------------------------------------------------- /examples/standalone-types/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Example file license header. 3 | * File header line two 4 | */ -------------------------------------------------------------------------------- /examples/standalone-types/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Standalone package of generated Types 3 | */ 4 | 5 | pluginManagement { 6 | val smithyGradleVersion: String by settings 7 | 8 | plugins { 9 | id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) 10 | } 11 | 12 | repositories { 13 | mavenLocal() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | rootProject.name = "StandaloneTypes" 20 | -------------------------------------------------------------------------------- /examples/standalone-types/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-type-codegen": { 5 | "namespace": "software.amazon.smithy.java.example.standalone", 6 | "headerFile": "license.txt" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /framework-errors/README.md: -------------------------------------------------------------------------------- 1 | ## framework-errors 2 | > [!WARNING] 3 | > Frameworks errors are a preview feature and may change significantly before 1.0 release. 4 | 5 | Provides framework errors common to all Smithy-Java clients and servers. 6 | -------------------------------------------------------------------------------- /framework-errors/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-type-codegen": { 5 | "namespace": "software.amazon.smithy.java.framework", 6 | "selector": "[id|namespace = 'smithy.framework']", 7 | // Include all traits in generated models as we do not know which 8 | // protocol will be used. This will not add any additional dependencies 9 | // as all traits on framework errors are prelude traits. 10 | "runtimeTraitsSelector": "*" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /framework-errors/src/main/resources/META-INF/services/software.amazon.smithy.model.traits.TraitService: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.framework.traits.ImplicitErrorsTrait$Provider 2 | -------------------------------------------------------------------------------- /git-hooks/pre-commit: -------------------------------------------------------------------------------- 1 | # Check if git-secrets is present. 2 | if command -v git-secrets >/dev/null 2>&1; then 3 | # Ensure the AWS patterns are registered. 4 | git-secrets --register-aws 5 | # Scan for and report secrets. 6 | git-secrets --scan 7 | else 8 | echo "WARNING: git-secrets is not on PATH. Automated secrets scanning could not be performed." 9 | fi 10 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.parallel=true 2 | org.gradle.jvmargs='-Dfile.encoding=UTF-8' 3 | org.gradle.caching=true 4 | org.gradle.configuration-cache=true -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smithy-lang/smithy-java/6909e19dfb03f87aafe2ed46b806b202a36cc288/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /http/http-api/README.md: -------------------------------------------------------------------------------- 1 | ## http-api 2 | Provides the Smithy Java HTTP API. 3 | -------------------------------------------------------------------------------- /http/http-api/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the Smithy Java HTTP API" 6 | 7 | extra["displayName"] = "Smithy :: Java :: HTTP :: API" 8 | extra["moduleName"] = "software.amazon.smithy.java.http.api" 9 | 10 | dependencies { 11 | api(project(":io")) 12 | } 13 | -------------------------------------------------------------------------------- /http/http-api/src/main/java/software/amazon/smithy/java/http/api/HttpVersion.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.http.api; 7 | 8 | public enum HttpVersion { 9 | HTTP_1_1, 10 | HTTP_2; 11 | 12 | @Override 13 | public String toString() { 14 | return switch (this) { 15 | case HTTP_1_1 -> "HTTP/1.1"; 16 | case HTTP_2 -> "HTTP/2.0"; 17 | }; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /http/http-binding/README.md: -------------------------------------------------------------------------------- 1 | ### http-binding 2 | Provides [http-binding](https://smithy.io/2.0/spec/http-bindings.html#http-bindings) functionality. This allows Smithy-modeled 3 | data to be bound to various parts of an HTTP message such 4 | as headers, query parameters, or the message body. 5 | -------------------------------------------------------------------------------- /http/http-binding/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides Smithy Java http-binding functionality" 6 | 7 | extra["displayName"] = "Smithy :: Java :: HTTP :: Binding" 8 | extra["moduleName"] = "software.amazon.smithy.java.http.binding" 9 | 10 | dependencies { 11 | api(project(":core")) 12 | api(project(":http:http-api")) 13 | implementation(project(":logging")) 14 | } 15 | -------------------------------------------------------------------------------- /http/http-binding/src/main/java/software/amazon/smithy/java/http/binding/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.http.binding; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /io/README.md: -------------------------------------------------------------------------------- 1 | ## io 2 | Provides the common I/O functionality for Smithy Java such 3 | as construction and encoding of URL's and handling of data streams. 4 | -------------------------------------------------------------------------------- /io/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the common IO functionality for Smithy java" 6 | 7 | extra["displayName"] = "Smithy :: Java :: IO" 8 | extra["moduleName"] = "software.amazon.smithy.java.io" 9 | -------------------------------------------------------------------------------- /io/src/test/resources/software/amazon/smithy/java/io/datastream/test.txt: -------------------------------------------------------------------------------- 1 | Hello! -------------------------------------------------------------------------------- /jmespath/README.md: -------------------------------------------------------------------------------- 1 | ## jmespath 2 | Provides functionality to perform a [JMESPath](https://jmespath.org/) query 3 | against a Smithy-Java `Document`. 4 | 5 | ### Example Usage 6 | Given a `Document` representing the JSON object `{"foo": [1,2,3,4]}`, 7 | all items in member `foo` greater than 2 could be queried as: 8 | 9 | ```java 10 | Document result = JMESPathDocumentQuery.query("foo[?@ > `2`]", myDocument); 11 | ``` 12 | -------------------------------------------------------------------------------- /jmespath/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides support for Querying documents using JMESPath expressions" 6 | 7 | extra["displayName"] = "Smithy :: Java :: JMESPath" 8 | extra["moduleName"] = "software.amazon.smithy.java.jmespath" 9 | 10 | dependencies { 11 | api(project(":core")) 12 | api(libs.smithy.jmespath) 13 | } 14 | -------------------------------------------------------------------------------- /jmespath/src/main/java/software/amazon/smithy/java/jmespath/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.jmespath; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /logging/README.md: -------------------------------------------------------------------------------- 1 | ## logging 2 | > [!WARNING] 3 | > This module is intended for internal components of the Smithy Java framework 4 | > and should not be depended on by projects outside of this repository. 5 | 6 | This package provides a common logging facade for internal 7 | Smithy-Java logging. This logging facade supports the following 8 | logger implementations: 9 | - JDK System Logger (default) 10 | - Log4j2 Logger 11 | - Slf4j2 Logger 12 | -------------------------------------------------------------------------------- /mcp/mcp-bundle-api/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ -------------------------------------------------------------------------------- /mcp/mcp-bundle-api/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-type-codegen": { 5 | "namespace": "software.amazon.smithy.mcp.bundle.api", 6 | "headerFile": "license.txt", 7 | "useExternalTypes": true 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /mcp/mcp-bundle-api/src/main/java/software/amazon/smithy/mcp/bundle/api/ModifiableRegistry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.mcp.bundle.api; 7 | 8 | import software.amazon.smithy.mcp.bundle.api.model.Bundle; 9 | 10 | public interface ModifiableRegistry extends Registry { 11 | void publishBundle(Bundle bundle); 12 | } 13 | -------------------------------------------------------------------------------- /mcp/mcp-bundle-api/src/main/resources/META-INF/smithy/manifest: -------------------------------------------------------------------------------- 1 | mcpbundle.smithy -------------------------------------------------------------------------------- /mcp/mcp-cli-api/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ -------------------------------------------------------------------------------- /mcp/mcp-cli-api/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-type-codegen": { 5 | "namespace": "software.amazon.smithy.java.mcp.cli", 6 | "headerFile": "license.txt", 7 | "useExternalTypes": true 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /mcp/mcp-cli-api/src/main/java/software/amazon/smithy/java/mcp/cli/CliBundle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.mcp.cli; 7 | 8 | import software.amazon.smithy.java.mcp.cli.model.McpBundleConfig; 9 | import software.amazon.smithy.mcp.bundle.api.model.Bundle; 10 | 11 | //TODO find a better name for this. 12 | public record CliBundle( 13 | Bundle mcpBundle, 14 | McpBundleConfig mcpBundleConfig) {} 15 | -------------------------------------------------------------------------------- /mcp/mcp-cli-api/src/main/java/software/amazon/smithy/java/mcp/cli/DefaultConfigProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.mcp.cli; 7 | 8 | import software.amazon.smithy.java.mcp.cli.model.Config; 9 | 10 | public interface DefaultConfigProvider { 11 | Config getConfig(); 12 | 13 | int priority(); 14 | } 15 | -------------------------------------------------------------------------------- /mcp/mcp-cli-api/src/main/java/software/amazon/smithy/java/mcp/cli/ExecutionContext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.mcp.cli; 7 | 8 | import software.amazon.smithy.java.mcp.cli.model.Config; 9 | import software.amazon.smithy.mcp.bundle.api.Registry; 10 | 11 | public record ExecutionContext(Config config, Registry registry) {} 12 | -------------------------------------------------------------------------------- /mcp/mcp-schemas/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ -------------------------------------------------------------------------------- /mcp/mcp-schemas/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-type-codegen": { 5 | "namespace": "software.amazon.smithy.java.mcp", 6 | "headerFile": "license.txt" 7 | }, 8 | "java-server-codegen": { 9 | "service": "smithy.mcp.registry#McpRegistry", 10 | "namespace": "software.amazon.smithy.java.mcp.registry", 11 | "headerFile": "license.txt" 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /model-bundle/model-bundle-api/license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ -------------------------------------------------------------------------------- /model-bundle/model-bundle-api/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "java-type-codegen": { 5 | "namespace": "software.amazon.smithy.modelbundle.api", 6 | "headerFile": "license.txt" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /model-bundle/model-bundle-api/src/main/java/software/amazon/smithy/modelbundle/api/BundlePluginFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.modelbundle.api; 7 | 8 | import software.amazon.smithy.java.core.serde.document.Document; 9 | 10 | public interface BundlePluginFactory { 11 | String identifier(); 12 | 13 | BundlePlugin createBundlePlugin(Document input); 14 | } 15 | -------------------------------------------------------------------------------- /model-bundle/model-bundle-api/src/main/resources/META-INF/smithy/manifest: -------------------------------------------------------------------------------- 1 | bundle.smithy -------------------------------------------------------------------------------- /protocol-test-harness/src/main/resources/META-INF/services/software.amazon.smithy.java.server.core.ServerProtocolProvider: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.protocoltests.harness.ProtocolTestProtocolProvider -------------------------------------------------------------------------------- /retries-api/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the Smithy Java Retries API" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Retries :: API" 8 | extra["moduleName"] = "software.amazon.smithy.java.retries.api" 9 | -------------------------------------------------------------------------------- /server/server-api/README.md: -------------------------------------------------------------------------------- 1 | ## server-api 2 | Provides the base API for servers. 3 | -------------------------------------------------------------------------------- /server/server-api/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the public Server API" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Server :: API" 8 | extra["moduleName"] = "software.amazon.smithy.java.server.api" 9 | 10 | dependencies { 11 | implementation(project(":logging")) 12 | implementation(project(":core")) 13 | api(project(":framework-errors")) 14 | } 15 | -------------------------------------------------------------------------------- /server/server-api/src/main/java/software/amazon/smithy/java/server/RequestContext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.server; 7 | 8 | // TODO Fill with more stuff. 9 | public interface RequestContext { 10 | 11 | String getRequestId(); 12 | } 13 | -------------------------------------------------------------------------------- /server/server-api/src/main/java/software/amazon/smithy/java/server/ServerProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.server; 7 | 8 | public interface ServerProvider { 9 | 10 | String name(); 11 | 12 | ServerBuilder serverBuilder(); 13 | 14 | int priority(); 15 | } 16 | -------------------------------------------------------------------------------- /server/server-core/README.md: -------------------------------------------------------------------------------- 1 | ## server-core 2 | Provides core server functionality for the Smithy Java framework. 3 | -------------------------------------------------------------------------------- /server/server-core/src/main/java/software/amazon/smithy/java/server/core/Handler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.server.core; 7 | 8 | import java.util.concurrent.CompletableFuture; 9 | 10 | public interface Handler { 11 | 12 | CompletableFuture before(Job job); 13 | 14 | CompletableFuture after(Job job); 15 | } 16 | -------------------------------------------------------------------------------- /server/server-core/src/main/java/software/amazon/smithy/java/server/core/ObservableOrchestrator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.server.core; 7 | 8 | public sealed interface ObservableOrchestrator extends Orchestrator permits SingleThreadOrchestrator, 9 | OrchestratorGroup, DelegatingObservableOrchestrator { 10 | 11 | int inflightJobs(); 12 | } 13 | -------------------------------------------------------------------------------- /server/server-core/src/main/java/software/amazon/smithy/java/server/core/Orchestrator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.server.core; 7 | 8 | import java.util.concurrent.CompletableFuture; 9 | 10 | public sealed interface Orchestrator permits ObservableOrchestrator { 11 | 12 | CompletableFuture enqueue(Job job); 13 | 14 | CompletableFuture shutdown(); 15 | } 16 | -------------------------------------------------------------------------------- /server/server-core/src/main/java/software/amazon/smithy/java/server/core/ServiceProtocolResolutionRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package software.amazon.smithy.java.server.core; 7 | 8 | import java.net.URI; 9 | import software.amazon.smithy.java.context.Context; 10 | import software.amazon.smithy.java.http.api.HttpHeaders; 11 | 12 | public record ServiceProtocolResolutionRequest(URI uri, HttpHeaders headers, Context requestContext, String method) {} 13 | -------------------------------------------------------------------------------- /server/server-netty/README.md: -------------------------------------------------------------------------------- 1 | ## server-netty 2 | Netty-based implementation of a Smithy Java server. 3 | -------------------------------------------------------------------------------- /server/server-netty/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "Netty based Smithy Java Server implementation" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Server :: Netty" 8 | extra["moduleName"] = "software.amazon.smithy.java.server.netty" 9 | 10 | dependencies { 11 | api(project(":server:server-core")) 12 | implementation(project(":logging")) 13 | implementation(project(":context")) 14 | implementation(libs.netty.all) 15 | } 16 | -------------------------------------------------------------------------------- /server/server-netty/src/main/resources/META-INF/services/software.amazon.smithy.java.server.ServerProvider: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.server.netty.NettyServerProvider -------------------------------------------------------------------------------- /server/server-rpcv2-cbor/README.md: -------------------------------------------------------------------------------- 1 | ### server-rpcv2-cbor 2 | Server implementation of the [RPCv2](https://smithy.io/2.0/additional-specs/protocols/smithy-rpc-v2.html) CBOR protocol. 3 | -------------------------------------------------------------------------------- /server/server-rpcv2-cbor/src/main/java/software/amazon/smithy/java/server/rpcv2/package-info.java: -------------------------------------------------------------------------------- 1 | @SmithyUnstableApi 2 | package software.amazon.smithy.java.server.rpcv2; 3 | 4 | import software.amazon.smithy.utils.SmithyUnstableApi; 5 | -------------------------------------------------------------------------------- /server/server-rpcv2-cbor/src/main/resources/META-INF/services/software.amazon.smithy.java.server.core.ServerProtocolProvider: -------------------------------------------------------------------------------- 1 | software.amazon.smithy.java.server.rpcv2.RpcV2CborProtocolProvider -------------------------------------------------------------------------------- /tracing-api/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("smithy-java.module-conventions") 3 | } 4 | 5 | description = "This module provides the Smithy Java Tracing API" 6 | 7 | extra["displayName"] = "Smithy :: Java :: Tracing :: API" 8 | extra["moduleName"] = "software.amazon.smithy.java.tracing.api" 9 | --------------------------------------------------------------------------------