Browse Source

Use parse_headers for media endpoint uploads

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.
pull/131/head
Jesse Morgan 4 years ago
parent
commit
a0c5f0e1fb
No known key found for this signature in database GPG Key ID: 6EC484CE8FDAD4AC
  1. 4
      lib/helpers.php

4
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;
}

Loading…
Cancel
Save