middlewares/csv-payload

用于解析请求 CSV 体的中间件

dev-master 2020-12-01 19:48 UTC

This package is auto-updated.

Last update: 2024-08-29 04:54:21 UTC


README

Latest Version on Packagist Software License Testing Total Downloads

扩展 middlewares/payload 以支持解析请求的 CSV 主体。

需求

安装

此软件包可通过 Composer 以 middlewares/csv-payload 的方式安装和自动加载。

composer require middlewares/csv-payload

CsvPayload

解析请求的 CSV 主体。使用 league/csv 读取 CSV 值。包含以下选项来配置 CSV Reader 对象

delimiter($delimiter)

配置 CSV 分隔符控制字符(仅一个字符)。如果提交的字符无效,则抛出 InvalidArgumentException 异常。

enclosure($enclosure)

配置 CSV 封闭控制字符(仅一个字符)。如果提交的字符无效,则抛出 InvalidArgumentException 异常。

escape($escape)

配置 CSV 转义控制字符(仅一个字符)。如果提交的字符无效,则抛出 InvalidArgumentException 异常。

header($header)

配置 CSV 标题行。如果提交的标题值小于 0,则抛出 InvalidArgumentException 异常。

methods(array $methods)

配置允许的方法。默认情况下,仅处理方法为 POST, PUT, PATCH, DELETE, COPY, LOCK, UNLOCK 的请求。

contentType(array $contentType)

配置请求中使用的所有 Content-Type 头。默认为 text/csv

override($override = true)

如果存在,则覆盖先前解析的正文(默认为 false

$dispatcher = new Dispatcher([
    (new Middlewares\CsvPayload())
        ->delimiter(";")
        ->enclosure("'")
        ->escape("\\")
]);

$response = $dispatcher->dispatch(new ServerRequest());

有关最近更改的更多信息,请参阅 CHANGELOG,有关贡献详细信息,请参阅 CONTRIBUTING

MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE