| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library leap_server; | 5 library leap_server; |
| 6 | 6 |
| 7 import 'dart:io'; | 7 import 'dart:io'; |
| 8 | 8 |
| 9 class Conversation { | 9 class Conversation { |
| 10 HttpRequest request; | 10 HttpRequest request; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 } | 75 } |
| 76 setUpErrorHandler(); | 76 setUpErrorHandler(); |
| 77 f.openRead().pipe(response); | 77 f.openRead().pipe(response); |
| 78 }); | 78 }); |
| 79 } | 79 } |
| 80 | 80 |
| 81 static onRequest(HttpRequest request) { | 81 static onRequest(HttpRequest request) { |
| 82 new Conversation(request, request.response).handle(); | 82 new Conversation(request, request.response).handle(); |
| 83 } | 83 } |
| 84 | 84 |
| 85 static onError(AsyncError e) { | 85 static onError(error) { |
| 86 if (e.error is HttpParserException) { | 86 if (error is HttpParserException) { |
| 87 print('Error: ${e.error.message}'); | 87 print('Error: ${error.message}'); |
| 88 } else { | 88 } else { |
| 89 print('Error: ${e.error}'); | 89 print('Error: ${error}'); |
| 90 } | 90 } |
| 91 } | 91 } |
| 92 | 92 |
| 93 String htmlInfo(String title, String text) { | 93 String htmlInfo(String title, String text) { |
| 94 return """ | 94 return """ |
| 95 <!DOCTYPE html> | 95 <!DOCTYPE html> |
| 96 <html lang='en'> | 96 <html lang='en'> |
| 97 <head> | 97 <head> |
| 98 <title>$title</title> | 98 <title>$title</title> |
| 99 </head> | 99 </head> |
| 100 <body> | 100 <body> |
| 101 <h1>$title</h1> | 101 <h1>$title</h1> |
| 102 <p>$text</p> | 102 <p>$text</p> |
| 103 </body> | 103 </body> |
| 104 </html> | 104 </html> |
| 105 """; | 105 """; |
| 106 } | 106 } |
| 107 } | 107 } |
| 108 | 108 |
| 109 main() { | 109 main() { |
| 110 List<String> arguments = new Options().arguments; | 110 List<String> arguments = new Options().arguments; |
| 111 if (arguments.length > 0) { | 111 if (arguments.length > 0) { |
| 112 Conversation.landingPage = arguments[0]; | 112 Conversation.landingPage = arguments[0]; |
| 113 } | 113 } |
| 114 var host = '127.0.0.1'; | 114 var host = '127.0.0.1'; |
| 115 HttpServer.bind(host, 0).then((HttpServer server) { | 115 HttpServer.bind(host, 0).then((HttpServer server) { |
| 116 print('HTTP server started on http://$host:${server.port}/'); | 116 print('HTTP server started on http://$host:${server.port}/'); |
| 117 server.listen(Conversation.onRequest, onError: Conversation.onError); | 117 server.listen(Conversation.onRequest, onError: Conversation.onError); |
| 118 }).catchError((e) { | 118 }).catchError((e) { |
| 119 print("HttpServer.bind error: ${e.error}"); | 119 print("HttpServer.bind error: $e"); |
| 120 exit(1); | 120 exit(1); |
| 121 }); | 121 }); |
| 122 } | 122 } |
| OLD | NEW |