diff --git a/bittorrent/params.go b/bittorrent/params.go
index 2d1baaf..5429894 100644
--- a/bittorrent/params.go
+++ b/bittorrent/params.go
@@ -70,6 +70,17 @@ type RouteParam struct {
 // RouteParams is a collection of RouteParam instances.
 type RouteParams []RouteParam
 
+// ByName returns the value of the first RouteParam that matches the given
+// name. If no matching RouteParam is found, an empty string is returned.
+func (rp RouteParams) ByName(name string) string {
+	for _, p := range rp {
+		if p.Key == name {
+			return p.Value
+		}
+	}
+	return ""
+}
+
 // ParseURLData parses a request URL or UDP URLData as defined in BEP41.
 // It expects a concatenated string of the request's path and query parts as
 // defined in RFC 3986. As both the udp: and http: scheme used by BitTorrent