|
8 | 8 | import Foundation
|
9 | 9 |
|
10 | 10 | let client = OtoClient(withEndpoint: "http://localhost:8080/oto")
|
11 |
| -let service = MyService(withClient: client) |
| 11 | +let greeterService = GreeterService(withClient: client) |
12 | 12 |
|
13 |
| -service.doSomething(withRequest: DoSomethingRequest( |
| 13 | +greeterService.greet(withRequest: GreetRequest( |
14 | 14 | name: "Mat"
|
15 | 15 | )) { (response, err) -> () in
|
16 |
| - print("done") |
17 |
| -} |
18 |
| - |
19 |
| -class OtoClient { |
20 |
| - var endpoint: String |
21 |
| - init(withEndpoint url: String) { |
22 |
| - self.endpoint = url |
| 16 | + if let err = err { |
| 17 | + print("ERROR: \(err)") |
| 18 | + return |
23 | 19 | }
|
| 20 | + print(response!.greeting!) |
24 | 21 | }
|
25 | 22 |
|
26 |
| -class MyService { |
27 |
| - var client: OtoClient |
28 |
| - init(withClient client: OtoClient) { |
29 |
| - self.client = client |
30 |
| - } |
31 |
| - func doSomething(withRequest doSomethingRequest: DoSomethingRequest, completion: (_ response: DoSomethingResponse?, _ error: Error?) -> ()) { |
32 |
| - //var request = URLRequest(url: URL(string: "\(self.client.endpoint)/MyService/MyMethod")!) |
33 |
| - // https://jsonplaceholder.typicode.com/todos/1 |
34 |
| - var request = URLRequest(url: URL(string: "https://jsonplaceholder.typicode.com/todos/1")!) |
35 |
| - |
36 |
| - request.httpMethod = "POST" |
37 |
| - request.addValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") |
38 |
| - request.addValue("application/json; charset=utf-8", forHTTPHeaderField: "Accept") |
39 |
| - var jsonData: Data |
40 |
| - do { |
41 |
| - jsonData = try JSONEncoder().encode(doSomethingRequest) |
42 |
| - } catch let jsonEncodeErr { |
43 |
| - print("TODO: handle JSON encode error: \(jsonEncodeErr)") |
44 |
| - return |
45 |
| - } |
46 |
| - request.httpBody = jsonData |
47 |
| - let session = URLSession(configuration: URLSessionConfiguration.default) |
48 |
| - let task = session.dataTask(with: request) { (data, response, error) in |
49 |
| - if let err = error { |
50 |
| - print("TODO: handle response error: \(err)") |
51 |
| - return |
52 |
| - } |
53 |
| - var doSomethingResponse: DoSomethingResponse |
54 |
| - do { |
55 |
| - doSomethingResponse = try JSONDecoder().decode(DoSomethingResponse.self, from: data!) |
56 |
| - } catch let err { |
57 |
| - print("TODO: handle JSON decode error: \(err)") |
58 |
| - return |
59 |
| - } |
60 |
| - print("\(doSomethingResponse)") |
61 |
| - } |
62 |
| - task.resume() |
63 |
| - } |
64 |
| -} |
65 |
| - |
66 |
| -struct DoSomethingRequest: Encodable { |
67 |
| - var name: String = "" |
68 |
| -} |
69 |
| - |
70 |
| -struct DoSomethingResponse: Decodable { |
71 |
| - var greeting: String = "" |
72 |
| -} |
| 23 | +print("hi") |
| 24 | +sleep(1) |
0 commit comments