]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
AtomPub fixes: return '201 Created' on POST of new message; better error checking...
authorBrion Vibber <brion@pobox.com>
Tue, 14 Dec 2010 21:12:24 +0000 (13:12 -0800)
committerBrion Vibber <brion@pobox.com>
Tue, 14 Dec 2010 21:12:24 +0000 (13:12 -0800)
actions/apitimelineuser.php

index d90507aa4460e8c24476f0db940c15ef774a0569..ca4b090a16141b29b871cda6bafa6ef1c42fee59 100644 (file)
@@ -309,9 +309,15 @@ class ApiTimelineUserAction extends ApiBareAuthAction
             return;
         }
 
-        $xml = file_get_contents('php://input');
+        $xml = trim(file_get_contents('php://input'));
+        if (empty($xml)) {
+            $this->clientError(_('Atom post must not be empty.'));
+        }
 
         $dom = DOMDocument::loadXML($xml);
+        if (!$dom) {
+            $this->clientError(_('Atom post must be well-formed XML.'));
+        }
 
         if ($dom->documentElement->namespaceURI != Activity::ATOM ||
             $dom->documentElement->localName != 'entry') {
@@ -349,6 +355,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction
         }
 
         if (!empty($saved)) {
+            header('HTTP/1.1 201 Created');
             header("Location: " . common_local_url('ApiStatusesShow', array('notice_id' => $saved->id,
                                                                             'format' => 'atom')));
             $this->showSingleAtomStatus($saved);