Page MenuHomePhorge

D25139.1732975068.diff
No OneTemporary

D25139.1732975068.diff

diff --git a/src/infrastructure/javelin/markup.php b/src/infrastructure/javelin/markup.php
--- a/src/infrastructure/javelin/markup.php
+++ b/src/infrastructure/javelin/markup.php
@@ -77,9 +77,27 @@
$is_post = (strcasecmp($http_method, 'POST') === 0);
$http_action = idx($attributes, 'action');
- $is_absolute_uri = 0;
- if (phutil_nonempty_string($http_action)) {
+
+ if ($http_action === null) {
+ // Not sure what this is.
+ $is_absolute_uri = false;
+
+ } else if ($http_action instanceof PhutilURI) {
+ // This is the happy path, I think
+
+ // For now, this is close enough - I suspect we'll stay with "https" schema
+ // for the rest of eternity.
+ $protocol = $http_action->getProtocol();
+ $is_absolute_uri = ($protocol == 'http' || $protocol == 'https');
+
+ } else if (is_string($http_action)) {
+ // Also good path?
$is_absolute_uri = preg_match('#^(https?:|//)#', $http_action);
+ } else {
+ throw new Exception(
+ pht(
+ 'Unexpected object type provided as `action` - %s',
+ gettype($http_action)));
}
if ($is_post) {

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 30, 13:57 (21 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1001007
Default Alt Text
D25139.1732975068.diff (1 KB)

Event Timeline