1 #ifndef _library__urirewrite__hpp__included__
2 #define _library__urirewrite__hpp__included__
15 * Get set of known schemes.
17 * Returns: The known schemes.
19 std::set
<std::string
> get_schemes();
21 * Delete rewrite pattern.
23 * Parameter scheme: The scheme to delete.
25 void delete_rewrite(const std::string
& scheme
);
29 * Parameter scheme: The scheme to rewrite.
30 * Parameter pattern: The target pattern to rewrite to.
32 void set_rewrite(const std::string
& scheme
, const std::string
& pattern
);
36 * Parameter scheme: The scheme to rewrite.
37 * Returns: The current rewrite pattern.
38 * Throws std::runtime_error: No pattern for scheme.
40 std::string
get_rewrite(const std::string
& scheme
);
44 * Parameter uri: The URI to rewrite.
45 * Returns: The rewritten URI.
47 std::string
operator()(const std::string
& uri
);
49 * Save URI rewrite patterns to file.
51 * Parameter filename: The name of the file.
53 void save(const std::string
& filename
);
55 * Load URI rewrite pattern from file.
57 * Parameter filename: The name of the file.
59 void load(const std::string
& filename
);
62 std::map
<std::string
, std::string
> rewrites
;