1// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
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.
4
5#ifndef RUNTIME_VM_URI_H_
6#define RUNTIME_VM_URI_H_
7
8#include "platform/utils.h"
9#include "vm/globals.h"
10
11namespace dart {
12
13struct ParsedUri {
14 const char* scheme;
15 const char* userinfo;
16 const char* host;
17 const char* port;
18 const char* path;
19 const char* query;
20 const char* fragment;
21};
22
23// Parses a uri into its parts. Returns false if the parse fails.
24bool ParseUri(const char* uri, ParsedUri* parsed_uri);
25
26// Resolves some reference uri with respect to a base uri.
27bool ResolveUri(const char* ref_uri,
28 const char* base_uri,
29 const char** target_uri);
30
31} // namespace dart
32
33#endif // RUNTIME_VM_URI_H_
34