承接 jigarakatidus/laravel-http-to-curl 相关项目开发

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

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

jigarakatidus/laravel-http-to-curl

最新稳定版本:1.0.4

Composer 安装命令:

composer require jigarakatidus/laravel-http-to-curl

包简介

Extended Http to dump and die with Curl command

README 文档

README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

This package has two use-cases:

  1. Simple dump and die with curl command for local development for troubleshooting the http request.
  2. Enable logging curl command for each request in the logs.

Installation

You can pull in the package via composer:

composer require jigarakatidus/laravel-http-to-curl

The package will automatically register itself

Usage

Basic GET Request

Http::ddWithCurl()
    ->get('https://example.com/api/resource');

Outputs

curl -H 'User-Agent: GuzzleHttp/7' -X 'GET' 'https://example.com/api/resource'

GET Request with Query Parameters

Http::ddWithCurl()
    ->get('https://example.com/api/resource', [
        'param1' => 'value1',
        'param2' => 'value2',
    ]);

Outputs

curl -H 'User-Agent: GuzzleHttp/7' -X 'GET' 'https://example.com/api/resource?param1=value1&param2=value2'

POST Request with JSON Payload

Http::ddWithCurl()
    ->acceptJson()
    ->post('https://example.com/api/resource', [
        'key1' => 'value1',
        'key2' => 'value2',
    ]);

Outputs

curl -H 'User-Agent: GuzzleHttp/7' -H 'Accept: application/json' -H 'Content-Type: application/json' -X 'POST' 'https://example.com/api/resource' -d '{"key1":"value1","key2":"value2"}'

Automatic Request Logging

To enable the automatic logging of curl command for each request, configure these options directly through environment variables:

  • HTTP_TO_CURL_LOGGING: Enable/disable logging (defaults to false)
  • HTTP_TO_CURL_LOG_LEVEL: Set log level (defaults to "debug")
  • HTTP_TO_CURL_LOG_CHANNEL: Select log channel (defaults to "stack")

Optionally, you can publish the configuration file using the following command:

php artisan vendor:publish --tag=http-to-curl-config

This will create a config/http-to-curl.php file where you can customize the logging behavior.

Logging Example

When you enable logging by setting HTTP_TO_CURL_LOGGING=true in your environment, all HTTP requests will be automatically logged. For example, if your application makes this request:

Http::post('https://api.example.com/users', [
    'name' => 'John Doe',
    'email' => 'john@example.com'
]);

This cURL command will be automatically logged to your configured log channel:

[2025-05-13 23:53:46] local.DEBUG: curl -H 'User-Agent: GuzzleHttp/7' -H 'Content-Type: application/json' -X 'POST' 'https://api.example.com/users' -d '{"name":"John Doe","email":"john@example.com"}'

This is useful for debugging API calls in both development and production environments.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Pull Requests are welcome.

Security

If you've found a bug regarding security please mail jigar.tidus@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

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

GitHub 信息

  • Stars: 29
  • Watchers: 3
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-10-14