Swoole\Http\Parser::parseBody PHP Method

parseBody() public method

解析Body
public parseBody ( Request $request )
$request Swoole\Request Swoole\Request
    function parseBody(Swoole\Request $request)
    {
        $cd = strstr($request->header['Content-Type'], 'boundary');
        if (isset($request->header['Content-Type']) and $cd !== false) {
            $this->parseFormData($request, $cd);
        } else {
            if (substr($request->header['Content-Type'], 0, 33) == 'application/x-www-form-urlencoded') {
                parse_str($request->body, $request->post);
            }
        }
    }

Usage Example

 /**
  * 解析请求
  * @param $request Swoole\Request
  * @return unknown_type
  */
 function parseRequest($request)
 {
     $url_info = parse_url($request->meta['uri']);
     $request->meta['request_time'] = time();
     $request->meta['path'] = $url_info['path'];
     if (isset($url_info['fragment'])) {
         $request->meta['fragment'] = $url_info['fragment'];
     }
     if (isset($url_info['query'])) {
         parse_str($url_info['query'], $request->get);
     }
     //POST请求,有http body
     if ($request->meta['method'] === 'POST') {
         $this->parser->parseBody($request);
     }
     //解析Cookies
     if (!empty($request->head['Cookie'])) {
         $this->parser->parseCookie($request);
     }
 }