定制 phapi/middleware-content-negotiation 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phapi/middleware-content-negotiation

最新稳定版本:1.0.1

Composer 安装命令:

composer require phapi/middleware-content-negotiation

包简介

Content Negotiation Middleware used by the Phapi Framework.

README 文档

README

Build status Code Climate Test Coverage

The Content Negotiation Middleware contains of one middleware designed to handle format negotiations. It takes the Accept header and parses it, matches it against the list of supported mime types (registered by serializers) and finally sets the proper Content-Type header on the response object.

Installation

This middleware is by default included in the Phapi Framework but if you need to install it it's available to install via Packagist and Composer.

$ php composer.phar require phapi/middleware-content-negotiation:1.*

Configuration

The middleware itself does not have any configuration options.

See the configuration documentation for more information about how to configure the integration with the Phapi Framework.

Usage

The format negotiation middleware sets the proper Content-Type header on the response object. The header value can be accessed by using the getHeaderLine() method:

<?php
/*
 * Get the response content type header that has the negotiated header.
 *
 * Returns the header value including charset.
 * Example: application/json;charset=utf-8
 */
$mimeType = $response->getHeaderLine('Content-Type');

The middleware also sets the mime type and any parameters included in the accept header as attributes on the request object:

<?php
// Get the negotiated mime type:
$mimeType = $request->getAttribute('Accept');

// Get parameters (as an array) included in the accept header
$acceptParameters = $request->getAttribute('Accept-Parameters');

Exceptions

The middleware will throw a 406 NotAcceptable if the requested mime type isn't supported. An 500 InternalServerError is thrown if no serializers are found.

If the requested mime type isn't supported the first mime type in the first registered serializers will be used to serialize the error message sent to the client.

Phapi

This middleware is a Phapi package used by the Phapi Framework. The middleware are also PSR-7 compliant and implements the Phapi Middleware Contract.

License

Content Negotiation Middleware is licensed under the MIT License - see the license.md file for details

Contribute

Contribution, bug fixes etc are always welcome.

统计信息

  • 总下载量: 3.8k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-05-20