-
-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathhttp.ai
More file actions
48 lines (39 loc) · 1.26 KB
/
http.ai
File metadata and controls
48 lines (39 loc) · 1.26 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
// First import the http module
use std.http;
// Simple GET request
let response = http.get("https://ipinfo.io/");
// GET with headers
let headers = {
"Authorization": "Bearer token123",
"Accept": "application/json"
};
let response = http.get("https://api.example.com/users", headers);
// // POST with JSON body
let json_body = {
name: "John Doe",
email: "john@example.com"
};
let response = http.post("https://api.example.com/users", headers, json_body);
// PUT request
let update = {
name: "John Smith"
};
let response = http.put("https://api.example.com/users/123", headers, update);
// // DELETE request
// let response = http.delete("https://api.example.com/users/123", headers);
// // PATCH request
// let patch = {
// status: "inactive"
// };
// let response = http.patch("https://api.example.com/users/123", headers, patch);
// // HEAD request (like GET but returns only headers)
// let response = http.head("https://api.example.com/users");
// // OPTIONS request
// let response = http.options("https://api.example.com/users");
// // Response handling is the same for all methods
if response.ok {
print("Status:", response.status);
print("Body:", response.json); // If response is JSON
} else {
print("Error:", response.statusText);
}