Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 protocol; | 5 library protocol; |
| 6 | 6 |
| 7 import 'dart:convert' show JsonDecoder; | 7 import 'dart:convert' show JsonDecoder; |
| 8 | 8 |
| 9 /** | 9 /** |
| 10 * Instances of the class [Request] represent a request that was received. | 10 * Instances of the class [Request] represent a request that was received. |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 66 * | 66 * |
| 67 * where the parameters are optional and can contain any number of name/value | 67 * where the parameters are optional and can contain any number of name/value |
| 68 * pairs. | 68 * pairs. |
| 69 */ | 69 */ |
| 70 factory Request.fromString(String data) { | 70 factory Request.fromString(String data) { |
| 71 try { | 71 try { |
| 72 var result = DECODER.convert(data); | 72 var result = DECODER.convert(data); |
| 73 if (result is! Map) { | 73 if (result is! Map) { |
| 74 return null; | 74 return null; |
| 75 } | 75 } |
| 76 String id = result[Request.ID]; | 76 var id = result[Request.ID]; |
| 77 String method = result[Request.METHOD]; | 77 var method = result[Request.METHOD]; |
| 78 if (id is! String || method is! String) { | |
| 79 return null; | |
| 80 } | |
| 78 var params = result[Request.PARAMS]; | 81 var params = result[Request.PARAMS]; |
| 79 Request request = new Request(id, method); | 82 Request request = new Request(id, method); |
| 80 if (params is Map) { | 83 if (params is Map) { |
|
Brian Wilkerson
2014/03/05 16:15:16
So it looks like we're returning null if the forma
danrubel
2014/03/05 18:39:07
Good point. Done.
| |
| 81 params.forEach((String key, Object value) { | 84 params.forEach((String key, Object value) { |
|
Brian Wilkerson
2014/03/05 16:15:16
Should we test that the key is always a String?
danrubel
2014/03/05 18:39:07
I don't think we want to restrict the value of a p
| |
| 82 request.setParameter(key, value); | 85 request.setParameter(key, value); |
| 83 }); | 86 }); |
| 84 } | 87 } |
| 85 return request; | 88 return request; |
| 86 } catch (exception) { | 89 } catch (exception) { |
| 87 return null; | 90 return null; |
| 88 } | 91 } |
| 89 } | 92 } |
| 90 | 93 |
| 91 /** | 94 /** |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 574 /** | 577 /** |
| 575 * The response to be returned as a result of the failure. | 578 * The response to be returned as a result of the failure. |
| 576 */ | 579 */ |
| 577 final Response response; | 580 final Response response; |
| 578 | 581 |
| 579 /** | 582 /** |
| 580 * Initialize a newly created exception to return the given reponse. | 583 * Initialize a newly created exception to return the given reponse. |
| 581 */ | 584 */ |
| 582 RequestFailure(this.response); | 585 RequestFailure(this.response); |
| 583 } | 586 } |
| OLD | NEW |