diff --git a/http/routing.h b/http/routing.h
index 52d1b06..59fa636 100644
--- a/http/routing.h
+++ b/http/routing.h
@@ -403,7 +403,7 @@
         return *p;
     }
 
-    self_t& name(std::string name) noexcept
+    self_t& name(const std::string& name) noexcept
     {
         self_t* self = static_cast<self_t*>(this);
         self->nameStr = std::move(name);
@@ -522,7 +522,7 @@
   public:
     using self_t = TaggedRule<Args...>;
 
-    TaggedRule(std::string ruleIn) : BaseRule(std::move(ruleIn))
+    TaggedRule(const std::string& ruleIn) : BaseRule(std::move(ruleIn))
     {}
 
     void validate() override
@@ -613,7 +613,7 @@
     }
 
     template <typename Func>
-    void operator()(std::string name, Func&& f)
+    void operator()(const std::string& name, Func&& f)
     {
         nameStr = std::move(name);
         (*this).template operator()<Func>(std::forward(f));
