# Router.hpp

This File On Github
Ask A Question

API: latest
module: oatpp
#include "oatpp/web/url/mapping/Router.hpp"

# Router

Class responsible to map "Path" to "Route" by "Path-Pattern".

  • @tparam Endpoint - endpoint of the route.

namespace oatpp { namespace web { namespace url { namespace mapping { 
  template<typename Endpoint>
  class Router : public base::Countable {}
}}}}

# Typedefs

Type Name Summary
std::pair<std::shared_ptr<Pattern>, Endpoint> Pair Pair oatpp::web::url::mapping::Pattern to Endpoint.
oatpp::data::share::StringKeyLabel StringKeyLabel Convenience typedef oatpp::data::share::StringKeyLabel.

# Methods

Return Type Name Summary
void route Add path-pattern to endpoint mapping.
Route getRoute Resolve path to corresponding endpoint.

# Router::Pair

Pair oatpp::web::url::mapping::Pattern to Endpoint.

typedef std::pair<std::shared_ptr<Pattern>, Endpoint> Pair

# Router::StringKeyLabel

Convenience typedef oatpp::data::share::StringKeyLabel.

typedef oatpp::data::share::StringKeyLabel StringKeyLabel

# Router::route

Add path-pattern to endpoint mapping.

  • @param pathPattern - path pattern for endpoint.
  • @param endpoint - route endpoint.

void route(const oatpp::String& pathPattern, const Endpoint& endpoint)

# Router::getRoute

Resolve path to corresponding endpoint.

  • @param path
  • @return - Router::Route.

Route getRoute(const StringKeyLabel& path)

# Router::Route

Resolved "Route" for "path-pattern"

namespace oatpp { namespace web { namespace url { namespace mapping { 
  template<typename Endpoint>
  class Router : public base::Countable {
    class Route {}
  };
}}}}

# Methods

Return Type Name Summary
[none] Route Multiple implementations:
  1. Default constructor.
  2. Constructor.
const Endpoint& getEndpoint Get Endpoint.
const Pattern::MatchMap& getMatchMap Match map of resolved path containing resolved path variables.
bool isValid Check if route is valid.

# Router::Route::Route

  1. Default constructor.
    Route()
      : m_valid(false)
    
  2. Constructor.
    • @param pEndpoint - route endpoint.
    • @param pMatchMap - Match map of resolved path containing resolved path variables.
    Route(const Endpoint& endpoint, Pattern::MatchMap&& matchMap)
      : m_valid(true)
      , m_endpoint(endpoint)
      , m_matchMap(matchMap)
    

# Router::Route::getEndpoint

Get Endpoint.

const Endpoint& getEndpoint()

# Router::Route::getMatchMap

Match map of resolved path containing resolved path variables.

const Pattern::MatchMap& getMatchMap()

# Router::Route::isValid

Check if route is valid.

  • @return

bool isValid()