35 lines
1.0 KiB
PHP
Executable File
35 lines
1.0 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Public HAMID API relay — called by deliverads/hamid.php frontend
|
|
*/
|
|
header('Content-Type: application/json');
|
|
header('Access-Control-Allow-Origin: *');
|
|
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
|
|
header('Access-Control-Allow-Headers: Content-Type');
|
|
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { http_response_code(200); exit; }
|
|
|
|
require_once(__DIR__ . '/../hamid-providers-config.php');
|
|
|
|
$input = json_decode(file_get_contents('php://input'), true) ?: $_REQUEST;
|
|
$message = $input['message'] ?? $input['q'] ?? '';
|
|
$provider = $input['provider'] ?? null;
|
|
|
|
if (empty($message)) {
|
|
echo json_encode(['error' => 'No message']);
|
|
exit;
|
|
}
|
|
|
|
$result = callWithFailover($message, $provider);
|
|
|
|
if (isset($result['error'])) {
|
|
echo json_encode(['status' => 'error', 'error' => $result['error']]);
|
|
} else {
|
|
echo json_encode([
|
|
'status' => 'success',
|
|
'response' => $result['response'],
|
|
'provider' => $result['provider'],
|
|
'model' => $result['model'],
|
|
'latency_ms' => $result['latency']
|
|
]);
|
|
}
|