enniel / ami-hook
Webhook API for Asterisk AMI
dev-master / 1.0.x-dev
2017-02-03 09:58 UTC
Requires
- php: ~5.6|~7.0
- enniel/ami: ~2.1.0
- illuminate/config: ~5.1
- illuminate/contracts: ~5.1
- illuminate/http: ~5.1
- illuminate/routing: ~5.1
- illuminate/support: ~5.1
- mpociot/captainhook: dev-patch-issue-42
This package is auto-updated.
Last update: 2024-11-06 04:29:24 UTC
README
Webhook API for Asterisk AMI.
Install
Via Composer
$ composer require enniel/ami-hook
Add the service provider to your config/app.php
:
... 'providers' => [ ... Enniel\AmiHook\AmiHookServiceProvider::class, ], ...
Publish and run the migration to create the webhooks
table that will hold all installed webhooks.
php artisan vendor:publish --provider="Mpociot\CaptainHook\CaptainHookServiceProvider"
php artisan migrate
For more information about webhooks see mpociot/captainhook.
Next, you should call the AmiHook::routes
method within the boot method of your RouteServiceProvider
. This method will register webhook routes:
<?php namespace App\Providers; use Illuminate\Support\Facades\Route; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Enniel\AmiHook\AmiHook; class RouteServiceProvider extends ServiceProvider { /** * This namespace is applied to your controller routes. * * In addition, it is set as the URL generator's root namespace. * * @var string */ protected $namespace = 'App\Http\Controllers'; /** * Define your route model bindings, pattern filters, etc. * * @return void */ public function boot() { // parent::boot(); } /** * Define the routes for the application. * * @return void */ public function map() { $this->mapApiRoutes(); $this->mapWebRoutes(); // } /** * Define the "web" routes for the application. * * These routes all receive session state, CSRF protection, etc. * * @return void */ protected function mapWebRoutes() { Route::group([ 'middleware' => 'web', 'namespace' => $this->namespace, ], function ($router) { require base_path('routes/web.php'); }); } /** * Define the "api" routes for the application. * * These routes are typically stateless. * * @return void */ protected function mapApiRoutes() { AmiHook::routes(null, [ 'middleware' => 'auth:api', 'prefix' => 'api', ]); Route::group([ 'middleware' => 'api', 'namespace' => $this->namespace, 'prefix' => 'api', ], function ($router) { require base_path('routes/api.php'); }); } }
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email razumov.evgeni@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.