| Index: runtime/vm/uri.h | 
| diff --git a/runtime/vm/uri.h b/runtime/vm/uri.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..453b3717f78dfdfd98b3e5cf32ba14374f97afc5 | 
| --- /dev/null | 
| +++ b/runtime/vm/uri.h | 
| @@ -0,0 +1,33 @@ | 
| +// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file | 
| +// for details. All rights reserved. Use of this source code is governed by a | 
| +// BSD-style license that can be found in the LICENSE file. | 
| + | 
| +#ifndef VM_URI_H_ | 
| +#define VM_URI_H_ | 
| + | 
| +#include "platform/utils.h" | 
| +#include "vm/globals.h" | 
| + | 
| +namespace dart { | 
| + | 
| +struct ParsedUri { | 
| +  const char* scheme; | 
| +  const char* userinfo; | 
| +  const char* host; | 
| +  const char* port; | 
| +  const char* path; | 
| +  const char* query; | 
| +  const char* fragment; | 
| +}; | 
| + | 
| +// Parses a uri into its parts.  Returns false if the parse fails. | 
| +bool ParseUri(const char* uri, ParsedUri* parsed_uri); | 
| + | 
| +// Resolves some reference uri with respect to a base uri. | 
| +bool ResolveUri(const char* ref_uri, | 
| +                const char* base_uri, | 
| +                const char** target_uri); | 
| + | 
| +}  // namespace dart | 
| + | 
| +#endif  // VM_URI_H_ | 
|  |