1 //===-- UriParser.h ---------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef utility_UriParser_h_
11 #define utility_UriParser_h_
12 
13 #include "llvm/ADT/StringRef.h"
14 
15 namespace lldb_private {
16 class UriParser {
17 public:
18   // Parses
19   // RETURN VALUE
20   //   if url is valid, function returns true and
21   //   scheme/hostname/port/path are set to the parsed values
22   //   port it set to -1 if it is not included in the URL
23   //
24   //   if the url is invalid, function returns false and
25   //   output parameters remain unchanged
26   static bool Parse(llvm::StringRef uri, llvm::StringRef &scheme,
27                     llvm::StringRef &hostname, int &port,
28                     llvm::StringRef &path);
29 };
30 }
31 
32 #endif // utility_UriParser_h_
33