[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/hpsware/expresscpp/master/include/expresscpp/route.hpp [Back]  [Original]

#pragma once

#include 
#include 
#include 

#include "boost/uuid/uuid.hpp"
#include "expresscpp/http_method.hpp"
#include "expresscpp/types.hpp"
#include "expresscpp/exports.hpp"

namespace expresscpp {

class Layer;

class EXPRESSCPP_API  Route {
 public:
  //! @brief Initialize `Route` with the given `path`
  Route(std::string_view path);

  Route(std::string_view path, HttpMethod method);

  ~Route();

  void Dispatch(request_t req, response_t res, next_t next);

  std::string_view GetPath() const;
  void SetPath(const std::string_view& path);

  /**
   * Determine if the route handles a given method.
   */
  bool HasMethod(HttpMethod method);

  std::set methods_;

  std::vector stack_;

 private:
  void Init();

  boost::uuids::uuid uuid_;
  std::string path_;
};

}  // namespace expresscpp

Web Proxy Viewer  |  New URL  |  Original Page