1<?php 2/** 3 * Zend Framework 4 * 5 * LICENSE 6 * 7 * This source file is subject to the new BSD license that is bundled 8 * with this package in the file LICENSE.txt. 9 * It is also available through the world-wide-web at this URL: 10 * http://framework.zend.com/license/new-bsd 11 * If you did not receive a copy of the license and are unable to 12 * obtain it through the world-wide-web, please send an email 13 * to license@zend.com so we can send you a copy immediately. 14 * 15 * @category Zend 16 * @package Zend_Controller 17 * @subpackage Zend_Controller_Plugin 18 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 19 * @license http://framework.zend.com/license/new-bsd New BSD License 20 * @version $Id$ 21 */ 22 23/** 24 * @see Zend_Controller_Plugin_Abstract 25 */ 26 27/** 28 * @see Zend_Controller_Request_Http 29 */ 30 31/** 32 * Plugin to digest PUT request body and make params available just like POST 33 * 34 * @package Zend_Controller 35 * @subpackage Zend_Controller_Plugin 36 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 37 * @license http://framework.zend.com/license/new-bsd New BSD License 38 */ 39class Zend_Controller_Plugin_PutHandler extends Zend_Controller_Plugin_Abstract 40{ 41 /** 42 * Before dispatching, digest PUT request body and set params 43 * 44 * @param Zend_Controller_Request_Abstract $request 45 */ 46 public function preDispatch(Zend_Controller_Request_Abstract $request) 47 { 48 if (!$request instanceof Zend_Controller_Request_Http) { 49 return; 50 } 51 52 if ($this->_request->isPut()) { 53 $putParams = array(); 54 parse_str($this->_request->getRawBody(), $putParams); 55 $request->setParams($putParams); 56 } 57 } 58} 59