hmsit / src-service
Core HTTP request for SRC environment
Requires
- php: ^7|^8
Requires (Dev)
- guzzlehttp/guzzle: ^6.3|^7.4
- laravel/laravel: ^5.6|^8.0
- laravel/lumen: ^5.8|^8.0
This package is not auto-updated.
Last update: 2025-11-18 10:45:57 UTC
README
SRC Service merupakan package yang digunakan oleh aplikasi SRC untuk request HTTP antar service dengan fitur authentication dan security access
Versi yang Didukung
| Version | Laravel Version |
|---|---|
| < 0.1.8 | <=5.6 |
| > 0.1.9 | >=5.7 |
Cara Install
composer require hmsit/src-service##### Laravel
- Otomatis terdaftar oleh
Laravel Package Discovery
##### Lumen
- Daftarkan service provider di
bootstrap/app.php$app->register(HMSIT\SrcService\SrcServiceProvider::class);Setting Konfigurasi
- Otomatis terdaftar oleh
Buat file
config/srcservice.php<?php return [ /* |-------------------------------------------------------------------------- | Encryption Key |-------------------------------------------------------------------------- | | This key is used by the SRC Service and should be set | to a random, 32 character string, otherwise these encrypted strings | will not be safe. Please do this before deploying an application! | */ 'key' => env('APP_KEY'), 'cipher' => 'AES-256-CBC', /* |-------------------------------------------------------------------------- | Hash |-------------------------------------------------------------------------- | | This key is used by the SRC Service | */ 'hash' => 'sha256', /* |-------------------------------------------------------------------------- | Expire |-------------------------------------------------------------------------- | | The expire time is the number of seconds that the access key should be | considered valid. This security feature keeps access keys short-lived so | they have less time to be guessed. You may change this as needed. | */ 'expire' => 14400, /* |-------------------------------------------------------------------------- | Cache Expire |-------------------------------------------------------------------------- | | The cache expire time is the number of seconds. | */ 'cache_expire' => 600, /* |-------------------------------------------------------------------------- | Default Cache Store |-------------------------------------------------------------------------- | | This option controls the default cache connection that gets used while | using this caching library. This connection is used when another is | not explicitly specified when executing a given caching function. | | Supported: "apc", "array", "database", "file", "memcached", "redis" | */ 'cache_driver' => env('CACHE_DRIVER', 'file') ];- Daftarkan file konfigurasi
#### Laravel
- Otomatis terdaftar #### Lumen
- Daftarkan file konfigurasi di
app/bootstrap.php$app->configure('srcservice');Setting Middleware
- Pastikan setiap request antar service menggunakan middleware
service#### Laravel- Daftarkan middleware service di
app/Http/Kernel.php/** * The application's route middleware. * * These middleware may be assigned to groups or used individually. * * @var array */ protected $routeMiddleware = [ 'service' => \HMSIT\SrcService\Middleware\Accesskey::class, ];#### Lumen
- Daftarkan middleware service di
app/bootstrap.php$app->routeMiddleware([ 'service' => HMSIT\SrcService\Middleware\Accesskey::class, ]);
- Daftarkan middleware service di
Contoh penggunaan middleware pada file
controller/** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('service'); }Setting Service
- Buat folder pada path
app/Libraries/Services - Buat file
UserService.php<?php
namespace App\Libraries\Services;
use HMSIT\SrcService\Service;
class UserService extends Service {
/** * SERVICE_USER_URI */ protected $baseUri = 'SERVICE_USER_URI'; /** * Available URL */ private const USER_BY_ID = 'api/v1/user/service/by-user-id';}
3. Buat file `AuthService.php`<?php
namespace App\Libraries\Services;
use HMSIT\SrcService\Service;
class AuthService extends Service {
/** * SERVICE_USER_URI */ protected $baseUri = 'SERVICE_AUTH_URI';}
3. Tambahkan `SERVICE_USER_URI` pada .env, dan atur URI dari masing-masing serviceSERVICE_USER_URI=http://localhost SERVICE_AUTH_URI=http://localhost
- Buat folder pada path
Cara Penggunaan
Cara request ke service user /
UserServiceuse App\Libraries\Services\UserService; use HMSIT\SrcService\Exception as ServiceException; try { $userService = UserService::get(UserService::USER_BY_ID . "/1"); ServiceException::on($userService); $user = $userService->data; } catch (\Exception $e) { $user = null; }