commit | bfe15d87d8a6338119f829215dcc9dc82c3a6db6 | [log] [tgz] |
---|---|---|
author | Danny Tuppeny <dantup@google.com> | Wed Jan 16 16:57:43 2019 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Wed Jan 16 16:57:43 2019 +0000 |
tree | 8a77d01c35d15932a274f7dd1768f4be3f0d3e10 | |
parent | 7984dc4fcc5352a0df68ad7b4f478ace7ae65842 [diff] |
Fix LSP exceptions serializing ResponseErrors with Uris The ResponseError.data field was typed `dynamic` (as in the LSP spec) but this allows us to accidentally put non-serializable classes in it which will result in server errors when we try to send them back. This change forces them to Strings and it's up to the code constructing the error to convert any additional data to a string first. In order to catch this in tests, the mocks now force serialisation of all types flowing from the server to the client (this already happened for client to server). Change-Id: I5d7f322e1a4296b1479468e36d81daebdbb4ab52 Reviewed-on: https://dart-review.googlesource.com/c/89511 Commit-Queue: Danny Tuppeny <dantup@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.