File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -46,6 +46,44 @@ let package = Package(
46
46
47
47
# Usage
48
48
49
+ ### HTTP
50
+ ``` swift
51
+ import Edge
52
+ import Foundation
53
+
54
+ func handleRequest (request : Request) -> Response {
55
+ print (String (bytes : request.body , encoding : .utf8 )! )
56
+ let responseBodyObject = [" message" : " Message received!" ]
57
+ let responseBody = Array (try ! JSONSerialization.data (withJSONObject : responseBodyObject))
58
+
59
+ return Response (
60
+ version : Version (major : 1 , minor : 1 ),
61
+ status : .ok ,
62
+ rawHeaders : [" Content-Type: application/json" ],
63
+ body : responseBody
64
+ )
65
+ }
66
+
67
+ let server = HTTP.Server ()
68
+ server.listen (host : " 0.0.0.0" , port : 3000 ).startWithNext { client in
69
+
70
+ let requestStream = client.read ()
71
+ requestStream.map (transform : handleRequest).onNext { response in
72
+ client.write (response)
73
+ }
74
+
75
+ requestStream.onFailed { clientError in
76
+ print (" Oh no, there was an error! \( clientError ) " )
77
+ }
78
+
79
+ requestStream.onCompleted {
80
+ print (" Goodbye \( client ) !" )
81
+ }
82
+
83
+ requestStream.start ()
84
+ }
85
+ ```
86
+
49
87
### TCP
50
88
``` Swift
51
89
You can’t perform that action at this time.
0 commit comments