All Projects → lezhnev74 → apideveloperio-laravel

lezhnev74 / apideveloperio-laravel

Licence: MIT License
Laravel API adapter to track each http request app handled.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to apideveloperio-laravel

Tweet-Analysis-With-Kafka-and-Spark
A real time analytics dashboard to analyze the trending hashtags and @ mentions at any location using kafka and spark streaming.
Stars: ✭ 18 (-14.29%)
Mutual labels:  analytics-dashboard
requester
The package provides a very thin wrapper (no external dependencies) for http.Client allowing the use of layers (middleware).
Stars: ✭ 14 (-33.33%)
Mutual labels:  http-requests
nativescript-http
The best way to do HTTP requests in NativeScript, a drop-in replacement for the core HTTP with important improvements and additions like proper connection pooling, form data support and certificate pinning
Stars: ✭ 32 (+52.38%)
Mutual labels:  http-requests
restpect
Succint and readable integration tests over RESTful APIs
Stars: ✭ 83 (+295.24%)
Mutual labels:  http-requests
swish
C++ HTTP requests for humans
Stars: ✭ 52 (+147.62%)
Mutual labels:  http-requests
http interceptor
A lightweight, simple plugin that allows you to intercept request and response objects and modify them if desired.
Stars: ✭ 74 (+252.38%)
Mutual labels:  http-requests
pawn-requests
pawn-requests provides an API for interacting with HTTP(S) JSON APIs.
Stars: ✭ 56 (+166.67%)
Mutual labels:  http-requests
Redes
High-level network layer abstraction library written in Swift.
Stars: ✭ 16 (-23.81%)
Mutual labels:  http-requests
SecurityHeaders GovUK
A scan of all .gov.uk sites for the most common security headers or lack of
Stars: ✭ 14 (-33.33%)
Mutual labels:  http-requests
analytics-dashboard
A custom analytics dashboard built with nodejs and react
Stars: ✭ 27 (+28.57%)
Mutual labels:  analytics-dashboard
FireMock
Mock and stub HTTP requests. Test your apps with fake data and files responses.
Stars: ✭ 25 (+19.05%)
Mutual labels:  http-requests
relay
Relay lets you write HTTP requests as easy to read, structured YAML and dispatch them easily using a CLI. Similar to tools like Postman
Stars: ✭ 22 (+4.76%)
Mutual labels:  http-requests
centra
Core Node.js HTTP client
Stars: ✭ 52 (+147.62%)
Mutual labels:  http-requests
1c http
Подсистема 1С для работы с HTTP
Stars: ✭ 48 (+128.57%)
Mutual labels:  http-requests
dust
Archive web pages with all relevant assets or save as a single file HTML
Stars: ✭ 19 (-9.52%)
Mutual labels:  http-requests
direwolf
Package direwolf is a convenient and easy to use http client written in Golang.
Stars: ✭ 44 (+109.52%)
Mutual labels:  http-requests
node-fetch-har
Generate HAR entries for requests made with node-fetch
Stars: ✭ 23 (+9.52%)
Mutual labels:  http-requests
request-baskets
HTTP requests collector to test webhooks, notifications, REST clients and more ...
Stars: ✭ 149 (+609.52%)
Mutual labels:  http-requests
re-frame-fetch-fx
js/fetch Effect Handler for re-frame
Stars: ✭ 24 (+14.29%)
Mutual labels:  http-requests
requestify
Parse a raw HTTP request and generate request code in different languages
Stars: ✭ 25 (+19.05%)
Mutual labels:  http-requests

Packagist GitHub license Build Status

Laravel package to dump HTTP requests to your Dashboard

Laravel API adapter to track each http request app handled.

Installation

Version Compability

Laravel version Package version Composer command
5.3.x 3.0.x composer require "lezhnev74/apideveloperio-laravel=~3.0"
5.4.x, 5.5.x, 5.6.x 4.0.x composer require "lezhnev74/apideveloperio-laravel=~4.0"

Steps

1. Install the package

composer require "lezhnev74/apideveloperio-laravel=~3.0"

2. Add service provider to your config/app.php

    'providers' => [
        ...
        '\HttpAnalyzer\Laravel\HttpAnalyzerServiceProvider'
    ],

3. Run this this command to publish configuration file to your /config folder.

php artisan vendor:publish --provider="HttpAnalyzer\Laravel\HttpAnalyzerServiceProvider"

4. Set-up cron command

To dump recorded requests to the Dashboard. Open your app/Console/Kernel.php and add class to commands list.

#app/Console/Kernel.php
....
protected $commands = [
    ...
    '\HttpAnalyzer\Laravel\DumpRecordedRequests',
];

...

protected function schedule(Schedule $schedule)
{
    // you can set how often you want it to dump your requests to the Dashboard
    // every minute is the most frequent mode
    $schedule->command('http_analyzer:dump')->everyMinute();
}

5. That's it!

Configuration

After publishing, config file will be located at config/http_analyzer.php and speaks for himself. The only required configuration is to put your API Key under api_key field.

FAQ

How it works?

It hooks into Laravel app and records request, response and other data that you will see in your Dashboard:

  • incoming request
  • response
  • database queries
  • log entries

You can tweak which information you would like to send to the Dashboard.

The command http_analyzer:dump that you have set up will send all recorded requests to your Dashboard.

I see no errors on the screen, but I don't see any requests in my dashboard. Why?

This package is designed to fail silently. If something went wrong while recording your requests - plugin won't interrupt your request lifecycle. Open your log and see if the package appended any critical information in there.

Also check the tmp storage folder if there are any stale dump files.

Suggestions

If user IPs are always 127.0.0.1

That happens due to some Symfony's Request issue. Try using this package - https://github.com/fideloper/TrustedProxy. Should do the trick.

What is the best way to track each request?

When someone refers to particular request/response app cycle, it is best to know it's unique ID. Knowing it you can easily find it in the Dashboard. Just add a middleware (like this one https://github.com/softonic/laravel-middleware-request-id) which will append a unique ID to each response your app provides.

🏆 Contributors

Support

Just open a new Issue here and get help.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].