summaryrefslogtreecommitdiff
path: root/lib/helpers.php
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2020-09-13 21:08:24 -0700
committerJesse Morgan <jesse@jesterpm.net>2020-09-13 21:08:24 -0700
commita0c5f0e1fb3c3e579637f78e7c218ce6cb0c2db5 (patch)
tree4197eecb1992c17b597018c36c68cca5e18337dc /lib/helpers.php
parentcdbc6aa4f305529f618e19b5af31ed896fb0a673 (diff)
Use parse_headers for media endpoint uploadsfix-location-header
micropub_media_post_for_user makes a case-sensitive search for the Location header, which fails if the location header is all lowercase. This change uses the `headers` fields, introduced in 2b98a4548e82f1133bf62918b0106ab99a21fa29a, to find the Location header, regardless of case.
Diffstat (limited to 'lib/helpers.php')
-rw-r--r--lib/helpers.php4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/helpers.php b/lib/helpers.php
index 48ada12..ec23afa 100644
--- a/lib/helpers.php
+++ b/lib/helpers.php
@@ -120,8 +120,8 @@ function micropub_media_post_for_user(&$user, $file) {
$r = micropub_post($user->micropub_media_endpoint, [], $user->micropub_access_token, $file, true, 'file');
// Check the response and look for a "Location" header containing the URL
- if($r['response'] && preg_match('/Location: (.+)/', $r['response'], $match)) {
- $r['location'] = trim($match[1]);
+ if($r['headers'] && $r['headers']['Location']) {
+ $r['location'] = $r['headers']['Location'];
} else {
$r['location'] = false;
}