承接 eva/http-request 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

eva/http-request

Composer 安装命令:

composer require eva/http-request

包简介

Common interface for HTTP messages

README 文档

README

The library provides interaction over the HTTP protocol

The basis is a model of Http packets. However, it does not support psr and should not be used at all.

The library consists of:

  1. HTTP message builders for both request and response
  2. Parsers that allow you to quickly pull out of HTTP messages data in a format that is easy to process
  3. RequestSender - implementation of sending and receiving messages (low-level sending via socket is used)
  4. A simple Client and a wrapper either for simple native requests or for creating full-fledged Request services (Examples are in the example folder)

INSTALLATION

  1. add "minimum-stability": "dev" in your composer file
  2. install
composer require "eva/http-request"

Simple example:

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$request = new Eva\Http\Message\Request(
    \Eva\Http\HttpMethodsEnum::GET,
    'https://www.google.com',
    [
        'Authorization' => 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlNjc4ZjIzMzQ3ZTM0MTBkYjdlNjg3Njc4MjNiMmQ3MCI'
    ]
);
$client = new \Eva\Http\Client();
$response = $client->sendRequest($request);

if ($response->getStatusCode() === 200) {
    echo $response->getBody();
} else {
    throw new RuntimeException($response->getBody());
}

Using HttpRequestMessageBuilder

(usually for building query, body, json and etc):

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$httpRequestMessageBuilder = new \Eva\Http\Builder\HttpRequestMessageBuilder;
$httpRequestMessageBuilder
    ->addMethod(\Eva\Http\HttpMethodsEnum::GET)
    ->addUrl('https://www.google.com')
    ->addHeaders([
        'Authorization' => 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlNjc4ZjIzMzQ3ZTM0MTBkYjdlNjg3Njc4MjNiMmQ3MCI'
    ]);
$request = $httpRequestMessageBuilder->build();
$client = new \Eva\Http\Client();
$response = $client->sendRequest($request);

if ($response->getStatusCode() === 200) {
    echo $response->getBody();
} else {
    throw new RuntimeException($response->getBody());
}

Using HttpMethodsTrait:

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$client = new \Eva\Http\Client();
$response = $client->get('https://www.google.com', [
    'Authorization' => 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlNjc4ZjIzMzQ3ZTM0MTBkYjdlNjg3Njc4MjNiMmQ3MCI',
]);

if ($response->getStatusCode() === 200) {
    echo $response->getBody();
} else {
    throw new RuntimeException($response->getBody());
}

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-11-19