@typespec/http-specs 0.1.0-alpha.30-dev.2 → 0.1.0-alpha.30-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import { ScenarioMockApi } from "@typespec/spec-api";
2
+ export declare const Scenarios: Record<string, ScenarioMockApi>;
3
+ //# sourceMappingURL=mockapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockapi.d.ts","sourceRoot":"","sources":["../../../../../specs/authentication/noauth/union/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAM,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { passOnSuccess } from "@typespec/spec-api";
2
+ export const Scenarios = {};
3
+ Scenarios.Authentication_Noauth_Union_validNoAuth = passOnSuccess({
4
+ uri: `/authentication/noauth/union/valid`,
5
+ method: "get",
6
+ request: {},
7
+ response: {
8
+ status: 204,
9
+ },
10
+ kind: "MockApiDefinition",
11
+ });
12
+ Scenarios.Authentication_Noauth_Union_validToken = passOnSuccess({
13
+ uri: `/authentication/noauth/union/validtoken`,
14
+ method: "get",
15
+ request: {
16
+ headers: {
17
+ authorization: "Bearer https://security.microsoft.com/.default",
18
+ },
19
+ },
20
+ response: {
21
+ status: 204,
22
+ },
23
+ kind: "MockApiDefinition",
24
+ });
25
+ //# sourceMappingURL=mockapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../../specs/authentication/noauth/union/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,uCAAuC,GAAG,aAAa,CAAC;IAChE,GAAG,EAAE,oCAAoC;IACzC,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;KACZ;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,sCAAsC,GAAG,aAAa,CAAC;IAC/D,GAAG,EAAE,yCAAyC;IAC9C,MAAM,EAAE,KAAK;IACb,OAAO,EAAE;QACP,OAAO,EAAE;YACP,aAAa,EAAE,gDAAgD;SAChE;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;KACZ;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
@@ -140,6 +140,26 @@ function createMultiBinaryPartsHandler(req) {
140
140
  throw new ValidationError("Can't parse files from request", "jpg/png files are expected", req.body);
141
141
  }
142
142
  }
143
+ function createOptionalPartsHandler(req) {
144
+ const hasId = req.body.id !== undefined;
145
+ const hasProfileImage = req.files instanceof Array && req.files.length > 0;
146
+ if (hasId && hasProfileImage) {
147
+ checkId(req);
148
+ checkJpgFile(req, req.files[0]);
149
+ return { pass: "id,profileImage", status: 204 };
150
+ }
151
+ else if (hasId && !hasProfileImage) {
152
+ checkId(req);
153
+ return { pass: "id", status: 204 };
154
+ }
155
+ else if (!hasId && hasProfileImage) {
156
+ checkJpgFile(req, req.files[0]);
157
+ return { pass: "profileImage", status: 204 };
158
+ }
159
+ else {
160
+ throw new ValidationError("No id or profileImage found", "At least one of id or profileImage is expected", req.body);
161
+ }
162
+ }
143
163
  Scenarios.Payload_MultiPart_FormData_basic = passOnSuccess({
144
164
  uri: "/multipart/form-data/mixed-parts",
145
165
  method: "post",
@@ -150,6 +170,52 @@ Scenarios.Payload_MultiPart_FormData_basic = passOnSuccess({
150
170
  handler: (req) => createHandler(req, [checkId, checkProfileImage]),
151
171
  kind: "MockApiDefinition",
152
172
  });
173
+ Scenarios.Payload_MultiPart_FormData_withWireName = passOnSuccess({
174
+ uri: "/multipart/form-data/mixed-parts-with-wire-name",
175
+ method: "post",
176
+ request: {
177
+ body: multipart({ parts: { id: 123 }, files: [files[0]] }),
178
+ },
179
+ response: { status: 204 },
180
+ handler: (req) => createHandler(req, [checkId, checkProfileImage]),
181
+ kind: "MockApiDefinition",
182
+ });
183
+ Scenarios.Payload_MultiPart_FormData_optionalParts = withServiceKeys([
184
+ "id",
185
+ "profileImage",
186
+ "id,profileImage",
187
+ ]).pass([
188
+ {
189
+ uri: "/multipart/form-data/optional-parts",
190
+ method: "post",
191
+ request: {
192
+ body: multipart({ parts: { id: 123 } }),
193
+ },
194
+ response: { status: 204 },
195
+ handler: createOptionalPartsHandler,
196
+ kind: "MockApiDefinition",
197
+ },
198
+ {
199
+ uri: "/multipart/form-data/optional-parts",
200
+ method: "post",
201
+ request: {
202
+ body: multipart({ files: [files[0]] }),
203
+ },
204
+ response: { status: 204 },
205
+ handler: createOptionalPartsHandler,
206
+ kind: "MockApiDefinition",
207
+ },
208
+ {
209
+ uri: "/multipart/form-data/optional-parts",
210
+ method: "post",
211
+ request: {
212
+ body: multipart({ parts: { id: 123 }, files: [files[0]] }),
213
+ },
214
+ response: { status: 204 },
215
+ handler: createOptionalPartsHandler,
216
+ kind: "MockApiDefinition",
217
+ },
218
+ ]);
153
219
  Scenarios.Payload_MultiPart_FormData_fileArrayAndBasic = passOnSuccess({
154
220
  uri: "/multipart/form-data/complex-parts",
155
221
  method: "post",
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/payload/multipart/mockapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/payload/multipart/mockapi.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@typespec/http-specs",
3
3
  "displayName": "Http Specs",
4
- "version": "0.1.0-alpha.30-dev.2",
4
+ "version": "0.1.0-alpha.30-dev.4",
5
5
  "description": "Spec scenarios and mock apis",
6
6
  "main": "dist/index.js",
7
7
  "type": "module",
package/spec-summary.md CHANGED
@@ -39,6 +39,18 @@ Expect error code 403 and error body:
39
39
 
40
40
  Expects header 'Authorization': 'SharedAccessKey valid-key'
41
41
 
42
+ ### Authentication_Noauth_Union_validNoAuth
43
+
44
+ - Endpoint: `get /authentication/noauth/union/valid`
45
+
46
+ Expects no authentication. The server accepts requests without any authentication header.
47
+
48
+ ### Authentication_Noauth_Union_validToken
49
+
50
+ - Endpoint: `get /authentication/noauth/union/validtoken`
51
+
52
+ Expects header 'authorization': 'Bearer https://security.microsoft.com/.default'
53
+
42
54
  ### Authentication_OAuth2_invalid
43
55
 
44
56
  - Endpoint: `get /authentication/oauth2/invalid`
@@ -2115,6 +2127,98 @@ Content-Type: application/octet-stream
2115
2127
  --abcde12345--
2116
2128
  ```
2117
2129
 
2130
+ ### Payload_MultiPart_FormData_optionalParts
2131
+
2132
+ - Endpoint: `post /multipart/form-data/optional-parts`
2133
+
2134
+ Please send request three times:
2135
+
2136
+ - First time with only id
2137
+ - Second time with only profileImage
2138
+ - Third time with both id and profileImage
2139
+
2140
+ Expect requests (
2141
+
2142
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
2143
+ appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
2144
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
2145
+ If there are duplicated filename in same fieldName, server can't parse them all.
2146
+ ):
2147
+
2148
+ ```
2149
+ POST /upload HTTP/1.1
2150
+ Content-Length: 428
2151
+ Content-Type: multipart/form-data; boundary=abcde12345
2152
+
2153
+ --abcde12345
2154
+ Content-Disposition: form-data; name="id"
2155
+ Content-Type: text/plain
2156
+
2157
+ 123
2158
+ --abcde12345--
2159
+ ```
2160
+
2161
+ ```
2162
+ POST /upload HTTP/1.1
2163
+ Content-Length: 428
2164
+ Content-Type: multipart/form-data; boundary=abcde12345
2165
+
2166
+ --abcde12345
2167
+ Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
2168
+ Content-Type: application/octet-stream
2169
+
2170
+ {…file content of .jpg file…}
2171
+ --abcde12345--
2172
+ ```
2173
+
2174
+ ```
2175
+ POST /upload HTTP/1.1
2176
+ Content-Length: 428
2177
+ Content-Type: multipart/form-data; boundary=abcde12345
2178
+
2179
+ --abcde12345
2180
+ Content-Disposition: form-data; name="id"
2181
+ Content-Type: text/plain
2182
+
2183
+ 123
2184
+ --abcde12345
2185
+ Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
2186
+ Content-Type: application/octet-stream
2187
+
2188
+ {…file content of .jpg file…}
2189
+ --abcde12345--
2190
+ ```
2191
+
2192
+ ### Payload_MultiPart_FormData_withWireName
2193
+
2194
+ - Endpoint: `post /multipart/form-data/mixed-parts-with-wire-name`
2195
+
2196
+ Expect request with wire names (
2197
+
2198
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
2199
+ appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
2200
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
2201
+ If there are duplicated filename in same fieldName, server can't parse them all.
2202
+ ):
2203
+
2204
+ ```
2205
+ POST /upload HTTP/1.1
2206
+ Content-Length: 428
2207
+ Content-Type: multipart/form-data; boundary=abcde12345
2208
+
2209
+ --abcde12345
2210
+ Content-Disposition: form-data; name="id"
2211
+ Content-Type: text/plain
2212
+
2213
+ 123
2214
+ --abcde12345
2215
+ Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
2216
+ Content-Type: application/octet-stream;
2217
+
2218
+ {…file content of .jpg file…}
2219
+ --abcde12345--
2220
+ ```
2221
+
2118
2222
  ### Payload_Pageable_PageSize_listWithoutContinuation
2119
2223
 
2120
2224
  - Endpoint: `get /payload/pageable/pagesize/without-continuation`
@@ -0,0 +1,30 @@
1
+ import "@typespec/http";
2
+ import "@typespec/spector";
3
+
4
+ using Http;
5
+ using Spector;
6
+
7
+ @scenarioService("/authentication/noauth/union")
8
+ @doc("Illustrates clients generated with NoAuth and OAuth2 authentication union.")
9
+ @useAuth(NoAuth | OAuth2Auth<[MyFlow]>)
10
+ namespace Authentication.Noauth.Union;
11
+
12
+ model MyFlow {
13
+ type: OAuth2FlowType.implicit;
14
+ authorizationUrl: "https://login.microsoftonline.com/common/oauth2/authorize";
15
+ scopes: ["https://security.microsoft.com/.default"];
16
+ }
17
+
18
+ @scenario
19
+ @scenarioDoc("Expects no authentication. The server accepts requests without any authentication header.")
20
+ @doc("Check whether client can make a request without authentication")
21
+ @get
22
+ @route("/valid")
23
+ op validNoAuth(): NoContentResponse;
24
+
25
+ @scenario
26
+ @scenarioDoc("Expects header 'authorization': 'Bearer https://security.microsoft.com/.default'")
27
+ @doc("Check whether client is authenticated with OAuth2 token")
28
+ @get
29
+ @route("/validtoken")
30
+ op validToken(): NoContentResponse;
@@ -0,0 +1,27 @@
1
+ import { passOnSuccess, ScenarioMockApi } from "@typespec/spec-api";
2
+
3
+ export const Scenarios: Record<string, ScenarioMockApi> = {};
4
+
5
+ Scenarios.Authentication_Noauth_Union_validNoAuth = passOnSuccess({
6
+ uri: `/authentication/noauth/union/valid`,
7
+ method: "get",
8
+ request: {},
9
+ response: {
10
+ status: 204,
11
+ },
12
+ kind: "MockApiDefinition",
13
+ });
14
+
15
+ Scenarios.Authentication_Noauth_Union_validToken = passOnSuccess({
16
+ uri: `/authentication/noauth/union/validtoken`,
17
+ method: "get",
18
+ request: {
19
+ headers: {
20
+ authorization: "Bearer https://security.microsoft.com/.default",
21
+ },
22
+ },
23
+ response: {
24
+ status: 204,
25
+ },
26
+ kind: "MockApiDefinition",
27
+ });
@@ -13,6 +13,16 @@ model MultiPartRequest {
13
13
  profileImage: HttpPart<bytes>;
14
14
  }
15
15
 
16
+ model MultiPartRequestWithWireName {
17
+ identifier: HttpPart<string, #{ name: "id" }>;
18
+ image: HttpPart<bytes, #{ name: "profileImage" }>;
19
+ }
20
+
21
+ model MultiPartOptionalRequest {
22
+ id?: HttpPart<string>;
23
+ profileImage?: HttpPart<bytes>;
24
+ }
25
+
16
26
  model Address {
17
27
  city: string;
18
28
  }
@@ -109,6 +119,105 @@ namespace FormData {
109
119
  @multipartBody body: MultiPartRequest,
110
120
  ): NoContentResponse;
111
121
 
122
+ @scenario
123
+ @scenarioDoc("""
124
+ Expect request with wire names (
125
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
126
+ appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
127
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
128
+ If there are duplicated filename in same fieldName, server can't parse them all.
129
+ ):
130
+ ```
131
+ POST /upload HTTP/1.1
132
+ Content-Length: 428
133
+ Content-Type: multipart/form-data; boundary=abcde12345
134
+
135
+ --abcde12345
136
+ Content-Disposition: form-data; name="id"
137
+ Content-Type: text/plain
138
+
139
+ 123
140
+ --abcde12345
141
+ Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
142
+ Content-Type: application/octet-stream;
143
+
144
+ {…file content of .jpg file…}
145
+ --abcde12345--
146
+ ```
147
+ """)
148
+ @doc("Test content-type: multipart/form-data with wire names")
149
+ @post
150
+ @route("/mixed-parts-with-wire-name")
151
+ op withWireName(
152
+ @header contentType: "multipart/form-data",
153
+ @multipartBody body: MultiPartRequestWithWireName,
154
+ ): NoContentResponse;
155
+
156
+ @scenario
157
+ @scenarioDoc("""
158
+ Please send request three times:
159
+ - First time with only id
160
+ - Second time with only profileImage
161
+ - Third time with both id and profileImage
162
+
163
+ Expect requests (
164
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
165
+ appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
166
+ - according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
167
+ If there are duplicated filename in same fieldName, server can't parse them all.
168
+ ):
169
+ ```
170
+ POST /upload HTTP/1.1
171
+ Content-Length: 428
172
+ Content-Type: multipart/form-data; boundary=abcde12345
173
+
174
+ --abcde12345
175
+ Content-Disposition: form-data; name="id"
176
+ Content-Type: text/plain
177
+
178
+ 123
179
+ --abcde12345--
180
+ ```
181
+
182
+ ```
183
+ POST /upload HTTP/1.1
184
+ Content-Length: 428
185
+ Content-Type: multipart/form-data; boundary=abcde12345
186
+
187
+ --abcde12345
188
+ Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
189
+ Content-Type: application/octet-stream
190
+
191
+ {…file content of .jpg file…}
192
+ --abcde12345--
193
+ ```
194
+
195
+ ```
196
+ POST /upload HTTP/1.1
197
+ Content-Length: 428
198
+ Content-Type: multipart/form-data; boundary=abcde12345
199
+
200
+ --abcde12345
201
+ Content-Disposition: form-data; name="id"
202
+ Content-Type: text/plain
203
+
204
+ 123
205
+ --abcde12345
206
+ Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
207
+ Content-Type: application/octet-stream
208
+
209
+ {…file content of .jpg file…}
210
+ --abcde12345--
211
+ ```
212
+ """)
213
+ @doc("Test content-type: multipart/form-data with optional parts")
214
+ @post
215
+ @route("/optional-parts")
216
+ op optionalParts(
217
+ @header contentType: "multipart/form-data",
218
+ @multipartBody body: MultiPartOptionalRequest,
219
+ ): NoContentResponse;
220
+
112
221
  @scenario
113
222
  @scenarioDoc("""
114
223
  Expect request (
@@ -182,6 +182,29 @@ function createMultiBinaryPartsHandler(req: MockRequest) {
182
182
  }
183
183
  }
184
184
 
185
+ function createOptionalPartsHandler(req: MockRequest) {
186
+ const hasId = req.body.id !== undefined;
187
+ const hasProfileImage = req.files instanceof Array && req.files.length > 0;
188
+
189
+ if (hasId && hasProfileImage) {
190
+ checkId(req);
191
+ checkJpgFile(req, req.files[0]);
192
+ return { pass: "id,profileImage", status: 204 } as const;
193
+ } else if (hasId && !hasProfileImage) {
194
+ checkId(req);
195
+ return { pass: "id", status: 204 } as const;
196
+ } else if (!hasId && hasProfileImage) {
197
+ checkJpgFile(req, req.files[0]);
198
+ return { pass: "profileImage", status: 204 } as const;
199
+ } else {
200
+ throw new ValidationError(
201
+ "No id or profileImage found",
202
+ "At least one of id or profileImage is expected",
203
+ req.body,
204
+ );
205
+ }
206
+ }
207
+
185
208
  Scenarios.Payload_MultiPart_FormData_basic = passOnSuccess({
186
209
  uri: "/multipart/form-data/mixed-parts",
187
210
  method: "post",
@@ -192,6 +215,52 @@ Scenarios.Payload_MultiPart_FormData_basic = passOnSuccess({
192
215
  handler: (req: MockRequest) => createHandler(req, [checkId, checkProfileImage]),
193
216
  kind: "MockApiDefinition",
194
217
  });
218
+ Scenarios.Payload_MultiPart_FormData_withWireName = passOnSuccess({
219
+ uri: "/multipart/form-data/mixed-parts-with-wire-name",
220
+ method: "post",
221
+ request: {
222
+ body: multipart({ parts: { id: 123 }, files: [files[0]] }),
223
+ },
224
+ response: { status: 204 },
225
+ handler: (req: MockRequest) => createHandler(req, [checkId, checkProfileImage]),
226
+ kind: "MockApiDefinition",
227
+ });
228
+ Scenarios.Payload_MultiPart_FormData_optionalParts = withServiceKeys([
229
+ "id",
230
+ "profileImage",
231
+ "id,profileImage",
232
+ ]).pass([
233
+ {
234
+ uri: "/multipart/form-data/optional-parts",
235
+ method: "post",
236
+ request: {
237
+ body: multipart({ parts: { id: 123 } }),
238
+ },
239
+ response: { status: 204 },
240
+ handler: createOptionalPartsHandler,
241
+ kind: "MockApiDefinition",
242
+ },
243
+ {
244
+ uri: "/multipart/form-data/optional-parts",
245
+ method: "post",
246
+ request: {
247
+ body: multipart({ files: [files[0]] }),
248
+ },
249
+ response: { status: 204 },
250
+ handler: createOptionalPartsHandler,
251
+ kind: "MockApiDefinition",
252
+ },
253
+ {
254
+ uri: "/multipart/form-data/optional-parts",
255
+ method: "post",
256
+ request: {
257
+ body: multipart({ parts: { id: 123 }, files: [files[0]] }),
258
+ },
259
+ response: { status: 204 },
260
+ handler: createOptionalPartsHandler,
261
+ kind: "MockApiDefinition",
262
+ },
263
+ ]);
195
264
  Scenarios.Payload_MultiPart_FormData_fileArrayAndBasic = passOnSuccess({
196
265
  uri: "/multipart/form-data/complex-parts",
197
266
  method: "post",