tree 8b7d45cd474e9d6b32660fa2c944a945bdae9d47
parent da26ae6760f4034af286c04f2a9ea81239823982
author Orr Bernstein (Google Chrome) <orrb@google.com> 1708731744 -0500
committer GitHub <noreply@github.com> 1708731744 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJl2S1gCRC1aQ7uu5UhlAAAxtwQALApAIIKJC/VDxrBrZoxTYIf
 +7dbkNvu0CN4DeOPWI99eH23EeMrE8Jygr+ZZbm9nDDYYy8deUJLbTADQc5tXNZ3
 GCxwKflZnSnOFEmKu1Zuw5pnPo2XOBWIVZjMzCGYxIaiAjQ1Qz8YsQRnCYXBGjzA
 /BcQjzvcqeUsDCWIoU470rqVDoKMMTxewY/B+8Zav7cYfi3+F+qfW6YXxTJY6NUU
 YzIZ7uMuB3Z9G1zPY0XjFgrY2Kb6pzL8JYkzpqhAzGDoHgnzNeEIoOz/21i7lo7u
 hLyIycM6P+l/xxMR2QrQTDkMTx4mdt8Ev7/iKXZmCWkJ6S2MnKN8U6l8LHgrysiJ
 FPqNFHlFxhgptEIe1t+/H4hjjBR0K2Juzspp+ZzKcRkptHsa1+DLSkFOt4nb7F97
 ftUuozfjtmPwv7Dg1oHn9YdbJK/5VbUuSvw7QjIigo1Obqte1C8UgV8gL0gw5s4q
 +Lcfzq8EiMf79kjozyDRbmdkaRkdkgAIYGUc1RLaORXiUZWluZKHUsZ5QedUZ2DW
 rqocy2NaE5NPrWSDlQfIt9s4VhGE3LVfCwgUPClqxp3DMyDnvBZ4V2cgnu0zM/Ab
 FCCwQvjstdgpjPPxMIPabAUOBVfb39sVCfec1M2RXe84I8i/Rdg+97+DVkL7Ua5V
 ewZEIj+BgPaydviv6Koj
 =6DHd
 -----END PGP SIGNATURE-----
 

Add well-known routes for Protected Audience API WPTs (#44398)

* Add well-known routes for Protected Audience API WPTs

Web Platform Tests for the [Protected Audience
API](https://github.com/WICG/turtledove/blob/main/FLEDGE.md) are in the
process of being added. As part of this API, the browser issues a GET
request to a well-known URI: `/.well-known/interest-group/permissions/`.
This is described in more detail at
https://github.com/WICG/turtledove/blob/main/FLEDGE.md#13-permission-delegation.

In order to implement dynamic handling of these routes in WPT, we need
to register these routes in the add_mount_point. Because this well-known
URI ends in a '/', we also need special handling for directory-appearing
PythonHandler-supported endpoints.

* Fix indentation in change to handlers.py

* Support default python files matching the pattern default*.py.

In order to support e.g. text substition, which requires a special
filename, e.g. default.sub.py, expand support for loading the default
file in a directory-appearing endpoint handled by a Python handler to
support any default file matching the pattern default*.py. In case
multiple files match this pattern, the first one found is used.

* Improved handling for default files matching default*.py.

* Improved handling for default files matching default*.py.

* Add tests for directory special casing for PythonHandler.

This also makes the directory special casing more deterministic by
explicitly selecting the first lexicographically sorted file match the
default*.py pattern in the requested path.

* Changed AsIsHandler to throw HTTPException instead of AssertionError.

Also added a test that shows AsIsHandler failing when trying to process
a directory.