fix(api): Make trailing slashes for each endpoint optional
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2766>
This commit is contained in:
parent
673db74dd2
commit
6b8bbc5f80
|
@ -34,10 +34,10 @@ if settings.DEBUG:
|
|||
# This allows the error pages to be debugged during development, just visit
|
||||
# these url in browser to see how these error pages look like.
|
||||
urlpatterns += [
|
||||
url(r"^400/$", default_views.bad_request),
|
||||
url(r"^403/$", default_views.permission_denied),
|
||||
url(r"^404/$", default_views.page_not_found),
|
||||
url(r"^500/$", default_views.server_error),
|
||||
url(r"^400/?$", default_views.bad_request),
|
||||
url(r"^403/?$", default_views.permission_denied),
|
||||
url(r"^404/?$", default_views.page_not_found),
|
||||
url(r"^500/?$", default_views.server_error),
|
||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
||||
if "debug_toolbar" in settings.INSTALLED_APPS:
|
||||
|
|
|
@ -28,7 +28,7 @@ router.register(r"attachments", common_views.AttachmentViewSet, "attachments")
|
|||
v1_patterns = router.urls
|
||||
|
||||
v1_patterns += [
|
||||
url(r"^oembed/$", views.OembedView.as_view(), name="oembed"),
|
||||
url(r"^oembed/?$", views.OembedView.as_view(), name="oembed"),
|
||||
url(
|
||||
r"^instance/",
|
||||
include(("funkwhale_api.instance.urls", "instance"), namespace="instance"),
|
||||
|
|
|
@ -8,22 +8,22 @@ router = routers.OptionalSlashRouter()
|
|||
router.register(r"search", views.SearchViewSet, "search")
|
||||
urlpatterns = [
|
||||
url(
|
||||
"releases/(?P<uuid>[0-9a-z-]+)/$",
|
||||
"releases/(?P<uuid>[0-9a-z-]+)/?$",
|
||||
views.ReleaseDetail.as_view(),
|
||||
name="release-detail",
|
||||
),
|
||||
url(
|
||||
"artists/(?P<uuid>[0-9a-z-]+)/$",
|
||||
"artists/(?P<uuid>[0-9a-z-]+)/?$",
|
||||
views.ArtistDetail.as_view(),
|
||||
name="artist-detail",
|
||||
),
|
||||
url(
|
||||
"release-groups/browse/(?P<artist_uuid>[0-9a-z-]+)/$",
|
||||
"release-groups/browse/(?P<artist_uuid>[0-9a-z-]+)/?$",
|
||||
views.ReleaseGroupBrowse.as_view(),
|
||||
name="release-group-browse",
|
||||
),
|
||||
url(
|
||||
"releases/browse/(?P<release_group_uuid>[0-9a-z-]+)/$",
|
||||
"releases/browse/(?P<release_group_uuid>[0-9a-z-]+)/?$",
|
||||
views.ReleaseBrowse.as_view(),
|
||||
name="release-browse",
|
||||
),
|
||||
|
|
|
@ -10,7 +10,7 @@ router.register(r"apps", views.ApplicationViewSet, "apps")
|
|||
router.register(r"grants", views.GrantViewSet, "grants")
|
||||
|
||||
urlpatterns = router.urls + [
|
||||
url("^authorize/$", csrf_exempt(views.AuthorizeView.as_view()), name="authorize"),
|
||||
url("^token/$", views.TokenView.as_view(), name="token"),
|
||||
url("^revoke/$", views.RevokeTokenView.as_view(), name="revoke"),
|
||||
url("^authorize/?$", csrf_exempt(views.AuthorizeView.as_view()), name="authorize"),
|
||||
url("^token/?$", views.TokenView.as_view(), name="token"),
|
||||
url("^revoke/?$", views.RevokeTokenView.as_view(), name="revoke"),
|
||||
]
|
||||
|
|
|
@ -7,26 +7,26 @@ from . import views
|
|||
urlpatterns = [
|
||||
# URLs that do not require a session or valid token
|
||||
url(
|
||||
r"^password/reset/$",
|
||||
r"^password/reset/?$",
|
||||
views.PasswordResetView.as_view(),
|
||||
name="rest_password_reset",
|
||||
),
|
||||
url(
|
||||
r"^password/reset/confirm/$",
|
||||
r"^password/reset/confirm/?$",
|
||||
views.PasswordResetConfirmView.as_view(),
|
||||
name="rest_password_reset_confirm",
|
||||
),
|
||||
# URLs that require a user to be logged in with a valid session / token.
|
||||
url(
|
||||
r"^user/$", rest_auth_views.UserDetailsView.as_view(), name="rest_user_details"
|
||||
r"^user/?$", rest_auth_views.UserDetailsView.as_view(), name="rest_user_details"
|
||||
),
|
||||
url(
|
||||
r"^password/change/$",
|
||||
r"^password/change/?$",
|
||||
views.PasswordChangeView.as_view(),
|
||||
name="rest_password_change",
|
||||
),
|
||||
# Registration URLs
|
||||
url(r"^registration/$", views.RegisterView.as_view(), name="rest_register"),
|
||||
url(r"^registration/?$", views.RegisterView.as_view(), name="rest_register"),
|
||||
url(
|
||||
r"^registration/verify-email/?$",
|
||||
views.VerifyEmailView.as_view(),
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Make trailing slashes optional for all endpoints
|
Loading…
Reference in New Issue