Exemplo n.º 1
0
function function_get($request_endpoint)
{
    try {
        $exploded = explode('/', $request_endpoint);
        if ($exploded[1] == 'test') {
            $response['error'] = 'false';
            $response['response'] = 'test API endpoint working';
            echo json_encode($response);
        } else {
            if ($exploded[1] == 'v1') {
                if ($exploded[2] == 'register' & !isset($exploded[3])) {
                    function_generate_api_key();
                    return;
                }
                if (explode('?', $exploded[2])[0] == 'alias') {
                    $error = 'input_error';
                    if (isset($_GET['key'])) {
                        $access_key = $_GET['key'];
                    } else {
                        throw new Exception('api_key_error');
                    }
                    if (isset($_GET['name'])) {
                        $name = $_GET['name'];
                    } else {
                        throw new Exception('input_error');
                    }
                    if (isset($_GET['alias'])) {
                        $alias = explode(',', $_GET['alias']);
                    } else {
                        throw new Exception('input_error');
                    }
                    if (isset($_GET['threshold'])) {
                        $threshold = $_GET['threshold'];
                    } else {
                        $threshold = 0.0;
                    }
                    $x = function_validate_api_key($access_key);
                    if (!$x[0]) {
                        throw new Exception('api_key_error');
                    } else {
                        $alias_scoring = jaroWinkler($name, $alias, $threshold);
                        $response = [];
                        $response['error'] = 'false';
                        $response['response'] = [];
                        $response['response']['name'] = $name;
                        $response['response']['comparisons'] = [];
                        foreach ($alias_scoring as $name => $score) {
                            $response['response']['comparisons'][$name] = $score;
                        }
                        echo json_encode($response);
                    }
                } else {
                    throw new Exception('resource_error');
                }
            } else {
                throw new Exception('version_error');
            }
        }
    } catch (Exception $e) {
        switch ($e->getMessage()) {
            case 'input_error':
                function_error('input_error');
                break;
            case 'resource_error':
                function_error('resource_error');
                break;
            case 'version_error':
                function_error('version_error');
                break;
            case 'api_key_error':
                function_error('api_key_error');
                break;
            default:
                function_error();
                break;
        }
    }
    return;
}
Exemplo n.º 2
0
<?php

require_once 'logic.php';
$http_method = $_SERVER['REQUEST_METHOD'];
$request_endpoint = $_SERVER['REQUEST_URI'];
switch ($http_method) {
    case 'GET':
        function_get($request_endpoint);
        break;
    default:
        function_error('method_error');
        break;
}