wp-api-console
wp-api-console copied to clipboard
Escaping `/` and `::` in endpoint URLs
I tested out Jetpack sites installed into subdomains. In the existing (old) console it is pretty badly broken, but it is mostly working correctly here.
Test cases
v1 API; enter make.wordpress.org/core into site field

This does not work - it sends a request to v1.1/sites/make.wordpress.org/core/posts/ which is a 404 of course.
v1 API; enter make.wordpress.org%2Fcore into site field
This works correctly.
v1 API; enter make.wordpress.org/core into URL directly

This does not work, and we shouldn't expect it to work. There's no reliable way to tell that this is a URL for the /posts endpoint.
v1 API; enter make.wordpress.org%2Fcore into URL directly
This works correctly.
v1 API; enter make.wordpress.org::core into site field or into URL directly
This is sent to the server correctly, but the v1 API does not support it.
v2 API; enter make.wordpress.org/core or make.wordpress.org%2Fcore
This is sent to the server in the same way as the v1 API, but the v2 API does not support it.
v2 API; enter make.wordpress.org::core into site field or into URL directly
This works correctly.
Potential improvements
- If
/is entered into asiteURL field, transform it into%2F - If
::is entered for the v1 API, transform it into%2F - If
/or%2Fare entered for the v2 API, transform it into::