-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheck-runtime.ts
More file actions
56 lines (46 loc) · 1.37 KB
/
check-runtime.ts
File metadata and controls
56 lines (46 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// make sure our runtime is working
import type { HTTPRequest } from "./runtime/http.ts";
import type { Credentials } from "./runtime/credentials.ts";
import { signRequest } from "./runtime/sigv4.ts";
import { doRequest } from "./runtime/http.ts";
(async function () {
console.log();
console.log("testing runtime...");
const requestData = {};
const request: HTTPRequest = {
method: "POST",
path: "/",
host: "sqs.us-east-1.amazonaws.com",
headers: {
"Content-Type": "application/x-amz-json-1.0",
"X-Amz-Target": "AmazonSQS.ListQueues",
},
body: JSON.stringify(requestData),
};
const credentials: Credentials = {
akid: process.env.AWS_ACCESS_KEY_ID ?? "",
secret: process.env.AWS_SECRET_ACCESS_KEY ?? "",
sessionToken: process.env.AWS_SESSION_TOKEN ?? "",
};
console.log(
"environment credentials",
JSON.stringify(credentials, null, 2)
);
console.log();
console.log("signing request...");
console.log();
signRequest(request, credentials, "sqs", "us-east-1");
console.log("signature", request.headers["Authorization"]);
console.log();
console.log("sending request...");
console.log();
const response = await doRequest(request);
const body = JSON.parse(response.body ?? "");
console.log("response status", response.statusCode);
console.log();
if (!!body.message) {
console.log(body.message);
} else {
console.log("response body", body);
}
})();