From f6fe7dc37aed7941bf047d5c33e6881631591576 Mon Sep 17 00:00:00 2001
From: Agate <me@agate.blue>
Date: Fri, 12 Jun 2020 09:33:11 +0200
Subject: [PATCH] Support URL in form protocol

---
 funkwhale_network/routes.py |  1 +
 tests/test_routes.py        | 10 ++++++++++
 2 files changed, 11 insertions(+)

diff --git a/funkwhale_network/routes.py b/funkwhale_network/routes.py
index 07ef63a..113a7ea 100644
--- a/funkwhale_network/routes.py
+++ b/funkwhale_network/routes.py
@@ -26,6 +26,7 @@ domain_filters = {
 
 
 def validate_domain(raw):
+    raw = raw.split('://')[-1]
     if not raw:
         raise ValueError()
 
diff --git a/tests/test_routes.py b/tests/test_routes.py
index 2fed96d..0d8103e 100644
--- a/tests/test_routes.py
+++ b/tests/test_routes.py
@@ -2,6 +2,7 @@ import datetime
 import pytest
 
 from funkwhale_network import db
+from funkwhale_network import routes
 from funkwhale_network import serializers
 
 
@@ -129,3 +130,12 @@ async def test_domains_rss(db_conn, factories, client, mocker):
     assert resp.status == 200
     assert await resp.text() == expected
     assert resp.headers["content-type"] == "application/rss+xml"
+
+
+@pytest.mark.parametrize('input,expected', [
+    ('example.com', 'example.com'),
+    ('http://example.com', 'example.com'),
+    ('https://example.com', 'example.com'),
+])
+def test_validate_domain(input, expected):
+    assert routes.validate_domain(input) == expected
-- 
GitLab