This repository has been archived on 2020-05-25. You can view files and clone it, but cannot push or open issues or pull requests.
tdlib-fork/tdutils/td/utils/HttpUrl.h
levlam 1ef5c89a91 Allow tg URLs in text links and url buttons.
GitOrigin-RevId: 9708c3016375564e737bf5a8f79494807d61c10f
2018-06-19 13:23:52 +03:00

40 lines
1003 B
C++

//
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
#pragma once
#include "td/utils/common.h"
#include "td/utils/Slice.h"
#include "td/utils/Status.h"
#include "td/utils/StringBuilder.h"
namespace td {
class HttpUrl {
public:
enum class Protocol { HTTP, HTTPS } protocol_;
string userinfo_;
string host_;
bool is_ipv6_;
int specified_port_;
int port_;
string query_;
string get_url() const;
};
// TODO Slice instead of MutableSlice
Result<HttpUrl> parse_url(MutableSlice url,
HttpUrl::Protocol default_protocol = HttpUrl::Protocol::HTTP) TD_WARN_UNUSED_RESULT;
StringBuilder &operator<<(StringBuilder &sb, const HttpUrl &url);
string get_url_query_file_name(const string &query);
string get_url_file_name(const string &url);
} // namespace td