<?php 
 
function getCurlConfig($method, $route, $header = [], $json = '') 
{ 
    $homeURL = 'http://public.localhost/Microservices/public_html/index.php'; 
 
    $curlConfig[CURLOPT_URL] = "{$homeURL}?r={$route}"; 
    $curlConfig[CURLOPT_HTTPHEADER] = $header; 
    $curlConfig[CURLOPT_HTTPHEADER][] = 'X-API-Version: v1.0.0'; 
    $curlConfig[CURLOPT_HTTPHEADER][] = 'Cache-Control: no-cache'; 
 
    switch ($method) { 
        case 'GET': 
            break; 
        case 'POST': 
            $curlConfig[CURLOPT_HTTPHEADER][] = 'Content-Type: text/plain; charset=utf-8'; 
            $curlConfig[CURLOPT_POST] = true; 
            $curlConfig[CURLOPT_POSTFIELDS] = $json; 
            break; 
        case 'PUT': 
            $curlConfig[CURLOPT_HTTPHEADER][] = 'Content-Type: text/plain; charset=utf-8'; 
            $curlConfig[CURLOPT_CUSTOMREQUEST] = 'PUT'; 
            $curlConfig[CURLOPT_POSTFIELDS] = $json; 
            break; 
        case 'PATCH': 
            $curlConfig[CURLOPT_HTTPHEADER][] = 'Content-Type: text/plain; charset=utf-8'; 
            $curlConfig[CURLOPT_CUSTOMREQUEST] = 'PATCH'; 
            $curlConfig[CURLOPT_POSTFIELDS] = $json; 
            break; 
        case 'DELETE': 
            $curlConfig[CURLOPT_HTTPHEADER][] = 'Content-Type: text/plain; charset=utf-8'; 
            $curlConfig[CURLOPT_CUSTOMREQUEST] = 'DELETE'; 
            $curlConfig[CURLOPT_POSTFIELDS] = $json; 
            break; 
    } 
    $curlConfig[CURLOPT_RETURNTRANSFER] = true; 
 
    return $curlConfig; 
} 
 
function trigger($method, $route, $header = [], $json = '') 
{ 
    $curl = curl_init(); 
    $curlConfig = getCurlConfig($method, $route, $header, $json); 
    curl_setopt_array($curl, $curlConfig); 
    $responseJSON = curl_exec($curl); 
    $err = curl_error($curl); 
    curl_close($curl); 
 
    if ($err) { 
        echo 'cURL Error #:' . $err; 
    } else { 
        $response = json_decode($responseJSON, true); 
        if ( 
            !empty($response) 
            && ( 
                (isset($response['Status']) && $response['Status'] == 200) 
                || (isset($response['Results']['Status']) && $response['Results']['Status'] == 200) 
            ) 
        ) { 
            echo 'Sucess:'.$route . PHP_EOL . PHP_EOL; 
        } else { 
            echo 'Failed:'.$route . PHP_EOL; 
            echo 'O/P:' . $responseJSON . PHP_EOL . PHP_EOL; 
            $response = false; 
        } 
    } 
    return $response; 
} 
 
$response = []; 
$header = []; 
echo '<pre>'; 
 
$payload = [ 
    'firstname' => 'Ramesh', 
    'lastname' => 'Jangid', 
    'email' => '[email protected]', 
    'username' => 'test', 
    'password' => 'shames11' 
]; 
$response[] = trigger('POST', '/registration', $header, $jsonPayload = json_encode($payload)); 
 
$payload = [ 
    'firstname' => 'Ramesh', 
    'lastname' => 'Jangid', 
    'email' => '[email protected]', 
    'username' => 'test', 
    'password' => 'shames11', 
    'address' => [ 
        'address' => 'A-203' 
    ] 
]; 
$response[] = trigger('POST', '/registration-with-address', $header, $jsonPayload = json_encode($payload)); 
 
$response[] = trigger('GET', '/category/1', $header, $jsonPayload = ''); 
// $response[] = trigger('GET', '/category/search', $header, $jsonPayload = ''); 
$response[] = trigger('GET', '/category', $header, $jsonPayload = ''); 
$response[] = trigger('GET', '/category&orderBy={"id":"DESC"}', $header, $jsonPayload = ''); 
 
print_r($response); 
 
 |