Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/guide/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Tornado can be roughly divided into three major components:

* A web framework (including `.RequestHandler` which is subclassed to
create web applications, and various supporting classes).
* Client- and server-side implementions of HTTP (`.HTTPServer` and
* Client- and server-side implementations of HTTP (`.HTTPServer` and
`.AsyncHTTPClient`).
* An asynchronous networking library including the classes `.IOLoop`
and `.IOStream`, which serve as the building blocks for the HTTP
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/structure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Python.)

When the ``main`` function returns, the program exits, so most of the time for a
web server ``main`` should run forever. Waiting on an `asyncio.Event` whose
``set()`` method is never called is a convenient way to make an asynchronus
``set()`` method is never called is a convenient way to make an asynchronous
function run forever. (and if you wish to have ``main`` exit early as a part of
a graceful shutdown procedure, you can call ``shutdown_event.set()`` to make it
exit).
Expand Down
2 changes: 1 addition & 1 deletion tornado/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -855,7 +855,7 @@ class GoogleOAuth2Mixin(OAuth2Mixin):
* Select a project, or create a new one.
* Depending on permissions required, you may need to set your app to
"testing" mode and add your account as a test user, or go through
a verfication process. You may also need to use the "Enable
a verification process. You may also need to use the "Enable
APIs and Services" command to enable specific services.
* In the sidebar on the left, select Credentials.
* Click CREATE CREDENTIALS and click OAuth client ID.
Expand Down
4 changes: 2 additions & 2 deletions tornado/escape.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def json_encode(value: Any) -> str:
def json_decode(value: str | bytes) -> Any:
"""Returns Python objects for the given JSON string.

Supports both `str` and `bytes` inputs. Equvalent to `json.loads`.
Supports both `str` and `bytes` inputs. Equivalent to `json.loads`.
"""
return json.loads(value)

Expand Down Expand Up @@ -393,7 +393,7 @@ def make_link(m: typing.Match) -> str:
return f'<a href="{href}"{params}>{url}</a>'

# First HTML-escape so that our strings are all safe.
# The regex is modified to avoid character entites other than &amp; so
# The regex is modified to avoid character entities other than &amp; so
# that we won't pick up &quot;, etc.
text = _unicode(xhtml_escape(text))
return _URL_RE.sub(make_link, text)
2 changes: 1 addition & 1 deletion tornado/httputil.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ class _ABNF:
"""

# RFC 3986 (URI)
# The URI hostname ABNF is both complex (including detailed vaildation of IPv4 and IPv6
# The URI hostname ABNF is both complex (including detailed validation of IPv4 and IPv6
# literals) and not strict enough (a lot of punctuation is allowed by the ABNF even though
# it is not allowed by DNS). We simplify it by allowing square brackets and colons in any
# position, not only for their use in IPv6 literals.
Expand Down
2 changes: 1 addition & 1 deletion tornado/platform/asyncio.py
Original file line number Diff line number Diff line change
Expand Up @@ -533,7 +533,7 @@ async def _thread_manager(self) -> typing.AsyncGenerator[None, None]:
self._thread.start()
self._start_select()
try:
# The presense of this yield statement means that this coroutine
# The presence of this yield statement means that this coroutine
# is actually an asynchronous generator, which has a special
# shutdown protocol. We wait at this yield point until the
# event loop's shutdown_asyncgens method is called, at which point
Expand Down
2 changes: 1 addition & 1 deletion tornado/test/httputil_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -666,7 +666,7 @@ def test_invalid_cookies(self):
"django_language",
parse_cookie("abc=def; unnamed; django_language=en").keys(),
)
# Even a double quote may be an unamed value.
# Even a double quote may be an unnamed value.
self.assertEqual(parse_cookie('a=b; "; c=d'), {"a": "b", "": '"', "c": "d"})
# Spaces in names and values, and an equals sign in values.
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tornado/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -720,7 +720,7 @@ def set_cookie(
# Note change from _ to -.
morsel["max-age"] = str(max_age)
if httponly:
# Note that SimpleCookie ignores the value here. The presense of an
# Note that SimpleCookie ignores the value here. The presence of an
# httponly (or secure) key is treated as true.
morsel["httponly"] = True
if secure:
Expand Down
Loading