Skip to content

Commit bb84f7c

Browse files
Implement Presigned Post URLs (#3902)
1 parent 30459a5 commit bb84f7c

17 files changed

+3984
-27
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"services": [
3+
{
4+
"serviceName": "S3",
5+
"type": "minor",
6+
"changeLogMessages": [
7+
"Implement presigned POST urls"
8+
]
9+
}
10+
]
11+
}

generator/ServiceClientGeneratorLib/Generators/Endpoints/EndpointResolver.cs

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ namespace ServiceClientGenerator.Generators.Endpoints
1919
/// Class to produce the template output
2020
/// </summary>
2121

22-
#line 1 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
22+
#line 1 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
2323
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
2424
public partial class EndpointResolver : BaseGenerator
2525
{
@@ -30,7 +30,7 @@ public partial class EndpointResolver : BaseGenerator
3030
public override string TransformText()
3131
{
3232

33-
#line 7 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
33+
#line 7 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
3434

3535
AddLicenseHeader();
3636

@@ -40,60 +40,60 @@ public override string TransformText()
4040
this.Write("\r\nusing System;\r\nusing System.Linq;\r\nusing System.Collections.Generic;\r\nusing Ama" +
4141
"zon.");
4242

43-
#line 14 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
43+
#line 14 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
4444
this.Write(this.ToStringHelper.ToStringWithCulture(Config.ServiceNameRoot));
4545

4646
#line default
4747
#line hidden
4848
this.Write(".Model;\r\nusing Amazon.Runtime;\r\nusing Amazon.Runtime.Internal;\r\nusing Amazon.Runt" +
4949
"ime.Endpoints;\r\nusing Amazon.Util;\r\nusing ");
5050

51-
#line 19 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
51+
#line 19 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
5252
this.Write(this.ToStringHelper.ToStringWithCulture(Config.Namespace));
5353

5454
#line default
5555
#line hidden
5656
this.Write(".Endpoints;\r\n\r\n#pragma warning disable 1591\r\n\r\nnamespace ");
5757

58-
#line 23 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
58+
#line 23 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
5959
this.Write(this.ToStringHelper.ToStringWithCulture(Config.Namespace));
6060

6161
#line default
6262
#line hidden
6363
this.Write(".Internal\r\n{\r\n /// <summary>\r\n /// Amazon ");
6464

65-
#line 26 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
65+
#line 26 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
6666
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
6767

6868
#line default
6969
#line hidden
7070
this.Write(" endpoint resolver.\r\n /// Custom PipelineHandler responsible for resolving end" +
7171
"point and setting authentication parameters for ");
7272

73-
#line 27 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
73+
#line 27 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
7474
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
7575

7676
#line default
7777
#line hidden
7878
this.Write(" service requests.\r\n /// Collects values for ");
7979

80-
#line 28 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
80+
#line 28 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
8181
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
8282

8383
#line default
8484
#line hidden
8585
this.Write("EndpointParameters and then tries to resolve endpoint by calling \r\n /// Resolv" +
8686
"eEndpoint method on GlobalEndpoints.Provider if present, otherwise uses ");
8787

88-
#line 29 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
88+
#line 29 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
8989
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
9090

9191
#line default
9292
#line hidden
9393
this.Write("EndpointProvider.\r\n /// Responsible for setting authentication and http header" +
9494
"s provided by resolved endpoint.\r\n /// </summary>\r\n public class Amazon");
9595

96-
#line 32 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
96+
#line 32 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
9797
this.Write(this.ToStringHelper.ToStringWithCulture(Config.ClassName));
9898

9999
#line default
@@ -102,7 +102,7 @@ public override string TransformText()
102102
"erviceSpecificHandler(IExecutionContext executionContext, EndpointParameters par" +
103103
"ameters)\r\n {\r\n");
104104

105-
#line 36 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
105+
#line 36 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
106106
if (Config.ServiceId == "S3") {
107107

108108
#line default
@@ -123,57 +123,57 @@ public override string TransformText()
123123
}
124124
");
125125

126-
#line 51 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
126+
#line 51 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
127127
}
128128

129129
#line default
130130
#line hidden
131131
this.Write("\r\n");
132132

133-
#line 53 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
133+
#line 53 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
134134
if (!this.dontInjectHostPrefixForServices.Contains(Config.ServiceId)) {
135135

136136
#line default
137137
#line hidden
138138
this.Write(" InjectHostPrefix(executionContext.RequestContext);\r\n");
139139

140-
#line 55 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
140+
#line 55 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
141141
}
142142

143143
#line default
144144
#line hidden
145145
this.Write(" }\r\n\r\n protected override EndpointParameters MapEndpointsParameters" +
146146
"(IRequestContext requestContext)\r\n {\r\n var config = (Amazon");
147147

148-
#line 60 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
148+
#line 60 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
149149
this.Write(this.ToStringHelper.ToStringWithCulture(Config.ClassName));
150150

151151
#line default
152152
#line hidden
153153
this.Write("Config)requestContext.ClientConfig;\r\n var result = new ");
154154

155-
#line 61 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
155+
#line 61 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
156156
this.Write(this.ToStringHelper.ToStringWithCulture(Config.ClassName));
157157

158158
#line default
159159
#line hidden
160160
this.Write("EndpointParameters();\r\n");
161161

162-
#line 62 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
162+
#line 62 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
163163
this.Write(this.ToStringHelper.ToStringWithCulture(this.AssignBuiltins()));
164164

165165
#line default
166166
#line hidden
167167
this.Write("\r\n");
168168

169-
#line 63 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
169+
#line 63 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
170170
this.Write(this.ToStringHelper.ToStringWithCulture(this.AssignClientContext()));
171171

172172
#line default
173173
#line hidden
174174
this.Write("\r\n");
175175

176-
#line 64 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
176+
#line 64 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
177177
if (Config.EndpointsRuleSet.parameters.ContainsKey("Region")) {
178178

179179
#line default
@@ -208,21 +208,21 @@ public override string TransformText()
208208
209209
");
210210

211-
#line 93 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
211+
#line 93 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
212212
}
213213

214214
#line default
215215
#line hidden
216216

217-
#line 94 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
217+
#line 94 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
218218

219219
// GetACL and PutACL are deprecated in V4 and may be removed in the future
220220

221221

222222
#line default
223223
#line hidden
224224

225-
#line 97 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
225+
#line 97 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
226226
if (Config.ClassName == "S3") {
227227

228228
#line default
@@ -234,6 +234,13 @@ public override string TransformText()
234234
result.Bucket = request.BucketName;
235235
return result;
236236
}
237+
// Special handling of CreatePresignedPostRequest
238+
if (requestContext.Request.RequestName == ""CreatePresignedPostRequest"")
239+
{
240+
var request = (CreatePresignedPostRequest)requestContext.Request.OriginalRequest;
241+
result.Bucket = request.BucketName;
242+
return result;
243+
}
237244
if (requestContext.RequestName == ""GetACLRequest"") {
238245
result.UseS3ExpressControlEndpoint = true;
239246
var request = (GetACLRequest)requestContext.OriginalRequest;
@@ -248,14 +255,14 @@ public override string TransformText()
248255
}
249256
");
250257

251-
#line 117 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
258+
#line 124 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
252259
}
253260

254261
#line default
255262
#line hidden
256263
this.Write("\r\n // Assign staticContextParams and contextParam per operation\r\n");
257264

258-
#line 120 "C:\Dev\worktrees\nosigv2\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
265+
#line 127 "C:\dev\repos\aws-sdk-net\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointResolver.tt"
259266
this.Write(this.ToStringHelper.ToStringWithCulture(this.AssignOperationContext()));
260267

261268
#line default

generator/ServiceClientGeneratorLib/Generators/Endpoints/EndpointResolver.tt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,13 @@ namespace <#=Config.Namespace#>.Internal
102102
result.Bucket = request.BucketName;
103103
return result;
104104
}
105+
// Special handling of CreatePresignedPostRequest
106+
if (requestContext.Request.RequestName == "CreatePresignedPostRequest")
107+
{
108+
var request = (CreatePresignedPostRequest)requestContext.Request.OriginalRequest;
109+
result.Bucket = request.BucketName;
110+
return result;
111+
}
105112
if (requestContext.RequestName == "GetACLRequest") {
106113
result.UseS3ExpressControlEndpoint = true;
107114
var request = (GetACLRequest)requestContext.OriginalRequest;

0 commit comments

Comments
 (0)