当前位置: 首页>>代码示例>>C++>>正文


C++ URI::port方法代码示例

本文整理汇总了C++中URI::port方法的典型用法代码示例。如果您正苦于以下问题:C++ URI::port方法的具体用法?C++ URI::port怎么用?C++ URI::port使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在URI的用法示例。


在下文中一共展示了URI::port方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: icase_equal

bool operator == (const URI& lhs, const URI& rhs) noexcept {
  return icase_equal(lhs.scheme(), rhs.scheme())
         and (lhs.userinfo() == rhs.userinfo())
         and icase_equal(lhs.host(), rhs.host())
         and lhs.port() == rhs.port()
         and lhs.path() == rhs.path()
         and lhs.query() == rhs.query()
         and lhs.fragment() == rhs.fragment();
}
开发者ID:AnnikaH,项目名称:IncludeOS,代码行数:9,代码来源:uri.cpp

示例2: GetScaffold

Variant BaseVariantAppProtocolHandler::GetScaffold(string uriString) {
	//1. Search in the cache first
	if (_urlCache.HasKey(uriString)) {
		return _urlCache[uriString];
	}

	//2. Build it
	Variant result;

	//3. Split the URL into components
	URI uri;
	if (!URI::FromString(uriString, true, uri)) {
		FATAL("Invalid url: %s", STR(uriString));
		return Variant();
	}

	//6. build the end result
	result["username"] = uri.userName();
	result["password"] = uri.password();
	result["host"] = uri.host();
	result["ip"] = uri.ip();
	result["port"] = uri.port();
	result["document"] = uri.fullDocumentPath();
	result["applicationName"] = GetApplication()->GetName();

	//7. Save it in the cache
	_urlCache[uriString] = result;

	//8. Done
	return result;
}
开发者ID:Akagi201,项目名称:crtmpserver,代码行数:31,代码来源:basevariantappprotocolhandler.cpp

示例3: request

  void Client::request(Method method, URI url, Header_set hfields, std::string data, Response_handler cb, Options options)
  {
    using namespace std;
    tcp_.stack().resolve(
      url.host().to_string(),
      ResolveCallback::make_packed(
      [
        this,
        method,
        url{move(url)},
        hfields{move(hfields)},
        data{move(data)},
        cb{move(cb)},
        opt{move(options)}
      ] (auto ip)
      {
        // Host resolved
        if(ip != 0)
        {
          // setup request with method and headers
          auto req = create_request(method);
          *req << hfields;

          // Set Host & path from url
          populate_from_url(*req, url);

          // Add data and content length
          add_data(*req, data);

          // Default to port 80 if non given
          const uint16_t port = (url.port() != 0xFFFF) ? url.port() : 80;

          send(move(req), {ip, port}, move(cb), move(opt));
        }
        else
        {
          cb({Error::RESOLVE_HOST}, nullptr);
        }
      })
    );
  }
开发者ID:,项目名称:,代码行数:41,代码来源:

示例4: populate_from_url

  void Client::populate_from_url(Request& req, const URI& url)
  {
    // Set uri path (default "/")
    req.set_uri((!url.path().empty()) ? URI{url.path()} : URI{"/"});

    // Set Host: host(:port)
    const auto port = url.port();
    req.header().set_field(header::Host,
      (port != 0xFFFF and port != 80) ?
      url.host().to_string() + ":" + std::to_string(port)
      : url.host().to_string()); // to_string madness
  }
开发者ID:,项目名称:,代码行数:12,代码来源:


注:本文中的URI::port方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。