Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
c86cbe46
Commit
c86cbe46
authored
Jun 17, 2014
by
Mat Peterson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
404 error for unwanted unicode in url
LMS-2488
parent
06dbb68e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
0 deletions
+22
-0
lms/djangoapps/courseware/tests/test_views.py
+16
-0
lms/djangoapps/courseware/views.py
+6
-0
No files found.
lms/djangoapps/courseware/tests/test_views.py
View file @
c86cbe46
...
...
@@ -158,6 +158,22 @@ class ViewsTestCase(TestCase):
response
=
self
.
client
.
get
(
request_url
)
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_unicode_handling_in_url
(
self
):
url_parts
=
[
'/courses'
,
self
.
course
.
id
.
to_deprecated_string
(),
self
.
chapter
.
location
.
name
,
self
.
section
.
location
.
name
,
'1'
]
for
idx
,
val
in
enumerate
(
url_parts
):
url_parts_copy
=
url_parts
[:]
url_parts_copy
[
idx
]
=
val
+
u'χ'
request_url
=
'/'
.
join
(
url_parts_copy
)
response
=
self
.
client
.
get
(
request_url
)
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_registered_for_course
(
self
):
self
.
assertFalse
(
views
.
registered_for_course
(
'Basketweaving'
,
None
))
mock_user
=
MagicMock
()
...
...
lms/djangoapps/courseware/views.py
View file @
c86cbe46
...
...
@@ -404,6 +404,12 @@ def index(request, course_id, chapter=None, section=None,
result
=
render_to_response
(
'courseware/courseware.html'
,
context
)
except
Exception
as
e
:
# Doesn't bar Unicode characters from URL, but if Unicode characters do
# cause an error it is a graceful failure.
if
isinstance
(
e
,
UnicodeEncodeError
):
raise
Http404
(
"URL contains Unicode characters"
)
if
isinstance
(
e
,
Http404
):
# let it propagate
raise
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment