@@ -70,6 +70,7 @@ extension TelegraphDemo {
70
70
// Note: we're ignoring possible strong retain cycles in the demo
71
71
server. route ( . GET, " hello/:name " , serverHandleHello)
72
72
server. route ( . GET, " hello(/) " , serverHandleHello)
73
+ server. route ( . GET, " redirect " , serverHandleRedirect)
73
74
server. route ( . GET, " secret/* " ) { . forbidden }
74
75
server. route ( . GET, " status " ) { ( . ok, " Server is running " ) }
75
76
@@ -123,13 +124,20 @@ extension TelegraphDemo {
123
124
// MARK: - Server route handlers
124
125
125
126
extension TelegraphDemo {
126
- /// Raised when the /hello enpoint is called
127
+ /// Raised when the /hello endpoint is called.
127
128
private func serverHandleHello( request: HTTPRequest ) -> HTTPResponse {
128
129
let name = request. params [ " name " ] ?? " stranger "
129
130
return HTTPResponse ( content: " Hello \( name. capitalized) " )
130
131
}
131
132
132
- /// Raised when the /data enpoint is called
133
+ /// Raised when the /redirect endpoint is called.
134
+ private func serverHandleRedirect( request: HTTPRequest ) -> HTTPResponse {
135
+ let response = HTTPResponse ( . temporaryRedirect)
136
+ response. headers. location = " https://www.google.com "
137
+ return response
138
+ }
139
+
140
+ /// Raised when the /data endpoint is called.
133
141
private func serverHandleData( request: HTTPRequest ) -> HTTPResponse {
134
142
// Decode the request body using the JSON decoder, fallback to "stranger" if the data is invalid
135
143
let requestDict = try ? JSONDecoder ( ) . decode ( [ String : String ] . self, from: request. body)
@@ -145,14 +153,14 @@ extension TelegraphDemo {
145
153
// MARK: - Client request handlers
146
154
147
155
extension TelegraphDemo {
148
- /// Raised when the client processes the /hello endpoint response
156
+ /// Raised when the client processes the /hello endpoint response.
149
157
private func clientHandleHello( data: Data ? , response: URLResponse ) {
150
158
if let textData = data, let text = String ( data: textData, encoding: . utf8) {
151
159
print ( " [CLIENT] " , " Request on /hello succeeded - text: " , text)
152
160
}
153
161
}
154
162
155
- /// Raised when the client processes the /data endpoint response
163
+ /// Raised when the client processes the /data endpoint response.
156
164
private func clientHandleData( data: Data ? , response: URLResponse ) {
157
165
if let jsonData = data, let json = try ? JSONDecoder ( ) . decode ( [ String : String ] . self, from: jsonData) {
158
166
print ( " [CLIENT] " , " Request on /data succeded - json: " , json)
0 commit comments