RestAction: Support OPTIONS and fix old StopWithCode.
authorRobert Sesek <rsesek@bluestatic.org>
Sun, 19 Nov 2017 02:51:56 +0000 (21:51 -0500)
committerRobert Sesek <rsesek@bluestatic.org>
Sun, 19 Nov 2017 02:51:56 +0000 (21:51 -0500)
http/rest_action.php

index b3d2c5dd8fd6ddfe545ca5d48138ff89a9527e67..ca6e870ca341a33e8e412c69a8622c072218dd9a 100644 (file)
@@ -30,11 +30,10 @@ class RestAction extends Action
   */
   public function Invoke(Request $request, Response $response)
   {
-    $valid_methods = array('get', 'post', 'delete', 'put');
+    $valid_methods = array('options', 'get', 'post', 'delete', 'put');
     $method = strtolower($request->http_method);
     if (!in_array($method, $valid_methods)) {
-      $response->response_code = ResponseCode::METHOD_NOT_ALLOWED;
-      $this->controller()->Stop();
+      $this->controller()->SendResponseCode(ResponseCode::METHOD_NOT_ALLOWED);
       return;
     }
 
@@ -43,23 +42,27 @@ class RestAction extends Action
   }
 
   /*! Methods for each of the different HTTP methods. */
+
+
+  public function DoOptions(Request $request, Response $response) {}
+
   public function DoGet(Request $request, Response $response)
   {
-    $this->controller()->StopWithCode(ResponseCode::METHOD_NOT_ALLOWED);
+    $this->controller()->SendReseponseCode(ResponseCode::METHOD_NOT_ALLOWED);
   }
 
   public function DoPost(Request $request, Response $response)
   {
-    $this->controller()->StopWithCode(ResponseCode::METHOD_NOT_ALLOWED);
+    $this->controller()->SendReseponseCode(ResponseCode::METHOD_NOT_ALLOWED);
   }
 
   public function DoDelete(Request $request, Response $response)
   {
-    $this->controller()->StopWithCode(ResponseCode::METHOD_NOT_ALLOWED);
+    $this->controller()->SendReseponseCode(ResponseCode::METHOD_NOT_ALLOWED);
   }
 
   public function DoPut(Request $request, Response $response)
   {
-    $this->controller()->StopWithCode(ResponseCode::METHOD_NOT_ALLOWED);
+    $this->controller()->SendReseponseCode(ResponseCode::METHOD_NOT_ALLOWED);
   }
 }