summaryrefslogtreecommitdiffhomepage
path: root/Kernel/CFKit/URL.hpp
blob: daf6a356d44eb24565f4ad3a946d4a40e1b2c973 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* -------------------------------------------

	Copyright Zeta Electronics Corporation

------------------------------------------- */

#ifndef _INC_URL_HPP_
#define _INC_URL_HPP_

#include <NewKit/Defines.hpp>
#include <NewKit/String.hpp>

namespace NewOS
{
	class URL final
	{
	public:
		explicit URL(StringView& strUrl);
		~URL();

	public:
		Ref<ErrorOr<StringView>> Location() noexcept;
		Ref<ErrorOr<StringView>> Protocol() noexcept;

	private:
		Ref<StringView> fUrlView;
	};

	ErrorOr<StringView> url_extract_location(const char* url);
	ErrorOr<StringView> url_extract_protocol(const char* url);
} // namespace NewOS

#endif /* ifndef _INC_URL_HPP_ */