help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
rust-web-server
/
static
RSK World
rust-web-server
Rust Web Server - High-Performance Async Web Server + WebSocket Support + JWT Authentication + File Upload + Memory Safety + Educational Design
static
  • css
  • js
  • index.html40.8 KB
index.html
static/index.html
Raw Download
Find: Go to:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Rust Web Server - RSK World | Advanced High-Performance Server</title>
    <meta name="description" content="High-performance async web server built with Rust. Features WebSocket, file upload, authentication, real-time monitoring, and modern UI.">
    <meta name="keywords" content="Rust, web server, async, high performance, WebSocket, file upload, authentication, RSK World">
    <meta name="author" content="RSK World">
    <link rel="stylesheet" href="css/style.css">
    <link rel="icon" type="image/x-icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🦀</text></svg>">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
</head>
<body>
    <!-- Loading Screen -->
    <div id="loading-screen" class="loading-screen">
        <div class="loading-content">
            <div class="loading-logo">🦀</div>
            <div class="loading-text">Initializing Rust Web Server...</div>
            <div class="loading-progress">
                <div class="progress-bar">
                    <div class="progress-fill" id="loading-progress"></div>
                </div>
            </div>
        </div>
    </div>

    <!-- Navigation Header -->
    <header class="navbar">
        <div class="nav-container">
            <div class="nav-brand">
                <span class="nav-logo">🦀</span>
                <span class="nav-title">Rust Web Server</span>
            </div>
            <nav class="nav-menu" id="nav-menu">
                <a href="#home" class="nav-link active">Home</a>
                <a href="#features" class="nav-link">Features</a>
                <a href="#dashboard" class="nav-link">Dashboard</a>
                <a href="#api" class="nav-link">API</a>
                <a href="#websocket" class="nav-link">WebSocket</a>
                <a href="#upload" class="nav-link">Upload</a>
                <a href="#admin" class="nav-link">Admin</a>
            </nav>
            <div class="nav-toggle" id="nav-toggle">
                <span class="bar"></span>
                <span class="bar"></span>
                <span class="bar"></span>
            </div>
        </div>
    </header>

    <main>
        <!-- Hero Section -->
        <section id="home" class="hero">
            <div class="hero-background">
                <div class="hero-particles" id="particles"></div>
            </div>
            <div class="container">
                <div class="hero-content">
                    <div class="hero-text">
                        <h1 class="hero-title">
                            <span class="title-gradient">Rust Web Server</span>
                            <span class="title-badge">v2.0</span>
                        </h1>
                        <p class="hero-subtitle">
                            Advanced high-performance async web server with WebSocket, file upload, authentication, and real-time monitoring
                        </p>
                        <div class="hero-stats">
                            <div class="stat-item">
                                <span class="stat-number" data-target="50000">0</span>
                                <span class="stat-label">Requests/sec</span>
                            </div>
                            <div class="stat-item">
                                <span class="stat-number" data-target="1000">0</span>
                                <span class="stat-label">Concurrent</span>
                            </div>
                            <div class="stat-item">
                                <span class="stat-number" data-target="99.9">0</span>
                                <span class="stat-label">% Uptime</span>
                            </div>
                        </div>
                        <div class="hero-actions">
                            <button class="btn btn-primary btn-lg" onclick="scrollToSection('dashboard')">
                                <i class="fas fa-tachometer-alt"></i> View Dashboard
                            </button>
                            <button class="btn btn-secondary btn-lg" onclick="openApiTester()">
                                <i class="fas fa-code"></i> Test API
                            </button>
                            <button class="btn btn-outline btn-lg" onclick="scrollToSection('features')">
                                <i class="fas fa-rocket"></i> Explore Features
                            </button>
                        </div>
                    </div>
                    <div class="hero-visual">
                        <div class="server-visual">
                            <div class="server-block">
                                <div class="block-header">🦀 Rust Server</div>
                                <div class="block-stats">
                                    <div class="block-stat">
                                        <span class="stat-label">Status</span>
                                        <span class="stat-value online">Online</span>
                                    </div>
                                    <div class="block-stat">
                                        <span class="stat-label">Memory</span>
                                        <span class="stat-value" id="hero-memory">42MB</span>
                                    </div>
                                    <div class="block-stat">
                                        <span class="stat-label">Connections</span>
                                        <span class="stat-value" id="hero-connections">0</span>
                                    </div>
                                </div>
                            </div>
                            <div class="connection-lines">
                                <div class="connection-line"></div>
                                <div class="connection-line"></div>
                                <div class="connection-line"></div>
                            </div>
                            <div class="client-blocks">
                                <div class="client-block"></div>
                                <div class="client-block"></div>
                                <div class="client-block"></div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Features Section -->
        <section id="features" class="features">
            <div class="container">
                <div class="section-header">
                    <h2 class="section-title">Advanced Features</h2>
                    <p class="section-subtitle">Cutting-edge web server capabilities with modern technology stack</p>
                </div>
                
                <div class="features-grid">
                    <div class="feature-card premium" data-aos="fade-up">
                        <div class="feature-icon">
                            <i class="fas fa-bolt"></i>
                        </div>
                        <div class="feature-content">
                            <h3>Lightning Fast</h3>
                            <p>Built with Rust's async/await and Tokio runtime for maximum performance and efficiency</p>
                            <div class="feature-tech">
                                <span class="tech-badge">Tokio</span>
                                <span class="tech-badge">Async</span>
                            </div>
                        </div>
                    </div>

                    <div class="feature-card premium" data-aos="fade-up" data-aos-delay="100">
                        <div class="feature-icon">
                            <i class="fas fa-shield-alt"></i>
                        </div>
                        <div class="feature-content">
                            <h3>Memory Safe</h3>
                            <p>Rust's ownership system prevents common memory bugs and ensures thread safety</p>
                            <div class="feature-tech">
                                <span class="tech-badge">Rust</span>
                                <span class="tech-badge">Safe</span>
                            </div>
                        </div>
                    </div>

                    <div class="feature-card premium" data-aos="fade-up" data-aos-delay="200">
                        <div class="feature-icon">
                            <i class="fas fa-plug"></i>
                        </div>
                        <div class="feature-content">
                            <h3>WebSocket Support</h3>
                            <p>Real-time bidirectional communication with WebSocket support for live applications</p>
                            <div class="feature-tech">
                                <span class="tech-badge">WebSocket</span>
                                <span class="tech-badge">Real-time</span>
                            </div>
                        </div>
                    </div>

                    <div class="feature-card premium" data-aos="fade-up" data-aos-delay="300">
                        <div class="feature-icon">
                            <i class="fas fa-upload"></i>
                        </div>
                        <div class="feature-content">
                            <h3>File Upload</h3>
                            <p>Secure file upload with validation, size limits, and multiple file support</p>
                            <div class="feature-tech">
                                <span class="tech-badge">Multipart</span>
                                <span class="tech-badge">Secure</span>
                            </div>
                        </div>
                    </div>

                    <div class="feature-card premium" data-aos="fade-up" data-aos-delay="400">
                        <div class="feature-icon">
                            <i class="fas fa-user-lock"></i>
                        </div>
                        <div class="feature-content">
                            <h3>Authentication</h3>
                            <p>JWT-based authentication with role-based access control and session management</p>
                            <div class="feature-tech">
                                <span class="tech-badge">JWT</span>
                                <span class="tech-badge">Auth</span>
                            </div>
                        </div>
                    </div>

                    <div class="feature-card premium" data-aos="fade-up" data-aos-delay="500">
                        <div class="feature-icon">
                            <i class="fas fa-chart-line"></i>
                        </div>
                        <div class="feature-content">
                            <h3>Real-time Monitoring</h3>
                            <p>Live server statistics, performance metrics, and comprehensive monitoring dashboard</p>
                            <div class="feature-tech">
                                <span class="tech-badge">Metrics</span>
                                <span class="tech-badge">Live</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Dashboard Section -->
        <section id="dashboard" class="dashboard">
            <div class="container">
                <div class="section-header">
                    <h2 class="section-title">Live Dashboard</h2>
                    <p class="section-subtitle">Real-time server monitoring and statistics</p>
                </div>

                <div class="dashboard-grid">
                    <div class="dashboard-card">
                        <div class="card-header">
                            <h3>Server Status</h3>
                            <div class="status-indicator online"></div>
                        </div>
                        <div class="card-content">
                            <div class="status-grid">
                                <div class="status-item">
                                    <span class="status-label">Uptime</span>
                                    <span class="status-value" id="dashboard-uptime">0s</span>
                                </div>
                                <div class="status-item">
                                    <span class="status-label">Requests</span>
                                    <span class="status-value" id="dashboard-requests">0</span>
                                </div>
                                <div class="status-item">
                                    <span class="status-label">Connections</span>
                                    <span class="status-value" id="dashboard-connections">0</span>
                                </div>
                                <div class="status-item">
                                    <span class="status-label">Memory</span>
                                    <span class="status-value" id="dashboard-memory">0MB</span>
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="dashboard-card">
                        <div class="card-header">
                            <h3>Performance Metrics</h3>
                            <button class="btn btn-sm" onclick="refreshMetrics()">
                                <i class="fas fa-sync-alt"></i> Refresh
                            </button>
                        </div>
                        <div class="card-content">
                            <div class="metric-chart">
                                <canvas id="performance-chart"></canvas>
                            </div>
                        </div>
                    </div>

                    <div class="dashboard-card">
                        <div class="card-header">
                            <h3>Recent Requests</h3>
                            <div class="request-filter">
                                <select id="request-filter" onchange="filterRequests()">
                                    <option value="all">All</option>
                                    <option value="success">Success</option>
                                    <option value="error">Error</option>
                                </select>
                            </div>
                        </div>
                        <div class="card-content">
                            <div class="request-list" id="request-list">
                                <!-- Requests will be populated here -->
                            </div>
                        </div>
                    </div>

                    <div class="dashboard-card">
                        <div class="card-header">
                            <h3>System Resources</h3>
                            <div class="resource-legend">
                                <span class="legend-item cpu">CPU</span>
                                <span class="legend-item memory">Memory</span>
                                <span class="legend-item disk">Disk</span>
                            </div>
                        </div>
                        <div class="card-content">
                            <div class="resource-bars">
                                <div class="resource-bar">
                                    <div class="resource-label">CPU Usage</div>
                                    <div class="resource-progress">
                                        <div class="progress-fill cpu" id="cpu-usage" style="width: 0%"></div>
                                    </div>
                                    <div class="resource-value" id="cpu-value">0%</div>
                                </div>
                                <div class="resource-bar">
                                    <div class="resource-label">Memory Usage</div>
                                    <div class="resource-progress">
                                        <div class="progress-fill memory" id="memory-usage" style="width: 0%"></div>
                                    </div>
                                    <div class="resource-value" id="memory-value">0%</div>
                                </div>
                                <div class="resource-bar">
                                    <div class="resource-label">Disk Usage</div>
                                    <div class="resource-progress">
                                        <div class="progress-fill disk" id="disk-usage" style="width: 0%"></div>
                                    </div>
                                    <div class="resource-value" id="disk-value">0%</div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- API Documentation Section -->
        <section id="api" class="api-section">
            <div class="container">
                <div class="section-header">
                    <h2 class="section-title">API Documentation</h2>
                    <p class="section-subtitle">Interactive API testing and documentation</p>
                </div>

                <div class="api-content">
                    <div class="api-sidebar">
                        <div class="api-nav">
                            <h3>Endpoints</h3>
                            <ul class="api-endpoint-list">
                                <li><a href="#api-health" class="api-link active">Health Check</a></li>
                                <li><a href="#api-info" class="api-link">Server Info</a></li>
                                <li><a href="#api-stats" class="api-link">Statistics</a></li>
                                <li><a href="#api-echo" class="api-link">Echo Service</a></li>
                                <li><a href="#api-auth" class="api-link">Authentication</a></li>
                                <li><a href="#api-upload" class="api-link">File Upload</a></li>
                            </ul>
                        </div>
                    </div>

                    <div class="api-main">
                        <div class="api-endpoint" id="api-health">
                            <div class="endpoint-header">
                                <span class="endpoint-method get">GET</span>
                                <span class="endpoint-path">/health</span>
                                <button class="btn btn-sm btn-primary" onclick="testApiEndpoint('GET', '/health')">
                                    <i class="fas fa-play"></i> Test
                                </button>
                            </div>
                            <div class="endpoint-description">
                                <p>Returns the current health status of the server and basic metrics.</p>
                            </div>
                            <div class="endpoint-response">
                                <h4>Response Example:</h4>
                                <pre><code class="language-json">{
  "status": "healthy",
  "timestamp": "2026-01-23T10:00:00Z",
  "uptime_seconds": 3600,
  "active_connections": 5
}</code></pre>
                            </div>
                        </div>

                        <div class="api-endpoint" id="api-info">
                            <div class="endpoint-header">
                                <span class="endpoint-method get">GET</span>
                                <span class="endpoint-path">/api/info</span>
                                <button class="btn btn-sm btn-primary" onclick="testApiEndpoint('GET', '/api/info')">
                                    <i class="fas fa-play"></i> Test
                                </button>
                            </div>
                            <div class="endpoint-description">
                                <p>Returns detailed server information including version, author, and contact details.</p>
                            </div>
                            <div class="endpoint-response">
                                <h4>Response Example:</h4>
                                <pre><code class="language-json">{
  "name": "Rust Web Server",
  "version": "2.0.0",
  "description": "High-performance web server built with Rust",
  "author": "RSK World",
  "contact": {
    "website": "https://rskworld.in",
    "email": "hello@rskworld.in",
    "phone": "+91 93305 39277"
  }
}</code></pre>
                            </div>
                        </div>

                        <div class="api-endpoint" id="api-stats">
                            <div class="endpoint-header">
                                <span class="endpoint-method get">GET</span>
                                <span class="endpoint-path">/api/stats</span>
                                <button class="btn btn-sm btn-primary" onclick="testApiEndpoint('GET', '/api/stats')">
                                    <i class="fas fa-play"></i> Test
                                </button>
                            </div>
                            <div class="endpoint-description">
                                <p>Returns server statistics and performance metrics.</p>
                            </div>
                            <div class="endpoint-response">
                                <h4>Response Example:</h4>
                                <pre><code class="language-json">{
  "uptime_seconds": 3600,
  "request_count": 1250,
  "active_connections": 5,
  "memory_usage_mb": 42.0,
  "cpu_usage_percent": 15.2
}</code></pre>
                            </div>
                        </div>

                        <div class="api-endpoint" id="api-echo">
                            <div class="endpoint-header">
                                <span class="endpoint-method post">POST</span>
                                <span class="endpoint-path">/api/echo</span>
                                <button class="btn btn-sm btn-primary" onclick="testApiEndpoint('POST', '/api/echo')">
                                    <i class="fas fa-play"></i> Test
                                </button>
                            </div>
                            <div class="endpoint-description">
                                <p>Echo service that returns the request data with timestamp.</p>
                            </div>
                            <div class="endpoint-request">
                                <h4>Request Body:</h4>
                                <pre><code class="language-json">{
  "message": "Hello, World!"
}</code></pre>
                            </div>
                            <div class="endpoint-response">
                                <h4>Response Example:</h4>
                                <pre><code class="language-json">{
  "message": "Hello, World!",
  "timestamp": "2026-01-23T10:00:00Z",
  "method": "POST",
  "path": "/api/echo"
}</code></pre>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- WebSocket Section -->
        <section id="websocket" class="websocket-section">
            <div class="container">
                <div class="section-header">
                    <h2 class="section-title">WebSocket Chat</h2>
                    <p class="section-subtitle">Real-time communication with WebSocket</p>
                </div>

                <div class="websocket-container">
                    <div class="chat-container">
                        <div class="chat-header">
                            <h3>Live Chat</h3>
                            <div class="connection-status" id="ws-status">
                                <span class="status-dot offline"></span>
                                <span class="status-text">Disconnected</span>
                            </div>
                        </div>
                        <div class="chat-messages" id="chat-messages">
                            <div class="system-message">
                                Welcome to the WebSocket chat! Connect to start messaging.
                            </div>
                        </div>
                        <div class="chat-input">
                            <input type="text" id="chat-input" placeholder="Type your message..." disabled>
                            <button class="btn btn-primary" id="send-btn" onclick="sendMessage()" disabled>
                                <i class="fas fa-paper-plane"></i> Send
                            </button>
                        </div>
                    </div>
                    <div class="websocket-info">
                        <div class="info-card">
                            <h4>WebSocket Features</h4>
                            <ul>
                                <li>Real-time bidirectional communication</li>
                                <li>Automatic reconnection</li>
                                <li>Message history</li>
                                <li>User presence indicators</li>
                                <li>Typing indicators</li>
                            </ul>
                        </div>
                        <div class="info-card">
                            <h4>Connection Info</h4>
                            <div class="connection-details">
                                <div class="detail-item">
                                    <span class="detail-label">URL:</span>
                                    <span class="detail-value">ws://localhost:8080/ws</span>
                                </div>
                                <div class="detail-item">
                                    <span class="detail-label">Protocol:</span>
                                    <span class="detail-value">WebSocket</span>
                                </div>
                                <div class="detail-item">
                                    <span class="detail-label">Status:</span>
                                    <span class="detail-value" id="ws-protocol-status">Not connected</span>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- File Upload Section -->
        <section id="upload" class="upload-section">
            <div class="container">
                <div class="section-header">
                    <h2 class="section-title">File Upload</h2>
                    <p class="section-subtitle">Secure file upload with validation and progress tracking</p>
                </div>

                <div class="upload-container">
                    <div class="upload-area" id="upload-area">
                        <div class="upload-content">
                            <i class="fas fa-cloud-upload-alt upload-icon"></i>
                            <h3>Drop files here or click to browse</h3>
                            <p>Maximum file size: 10MB | Allowed: JPG, PNG, PDF, TXT, ZIP</p>
                            <input type="file" id="file-input" multiple accept=".jpg,.jpeg,.png,.pdf,.txt,.zip" hidden>
                            <button class="btn btn-primary" onclick="document.getElementById('file-input').click()">
                                <i class="fas fa-folder-open"></i> Choose Files
                            </button>
                        </div>
                    </div>

                    <div class="upload-progress" id="upload-progress" style="display: none;">
                        <div class="progress-header">
                            <h4>Uploading Files...</h4>
                            <button class="btn btn-sm btn-danger" onclick="cancelUpload()">
                                <i class="fas fa-times"></i> Cancel
                            </button>
                        </div>
                        <div class="progress-bar-container">
                            <div class="progress-bar">
                                <div class="progress-fill" id="upload-progress-fill"></div>
                            </div>
                            <div class="progress-text" id="upload-progress-text">0%</div>
                        </div>
                    </div>

                    <div class="uploaded-files" id="uploaded-files">
                        <h3>Uploaded Files</h3>
                        <div class="file-list" id="file-list">
                            <!-- Files will be populated here -->
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Admin Section -->
        <section id="admin" class="admin-section">
            <div class="container">
                <div class="section-header">
                    <h2 class="section-title">Admin Panel</h2>
                    <p class="section-subtitle">Server administration and configuration</p>
                </div>

                <div class="admin-container">
                    <div class="admin-tabs">
                        <button class="tab-btn active" onclick="switchTab('config')">Configuration</button>
                        <button class="tab-btn" onclick="switchTab('users')">Users</button>
                        <button class="tab-btn" onclick="switchTab('logs')">Logs</button>
                        <button class="tab-btn" onclick="switchTab('settings')">Settings</button>
                    </div>

                    <div class="admin-content">
                        <div class="tab-content active" id="config-tab">
                            <h3>Server Configuration</h3>
                            <div class="config-form">
                                <div class="form-group">
                                    <label for="server-host">Host</label>
                                    <input type="text" id="server-host" value="127.0.0.1" class="form-control">
                                </div>
                                <div class="form-group">
                                    <label for="server-port">Port</label>
                                    <input type="number" id="server-port" value="8080" class="form-control">
                                </div>
                                <div class="form-group">
                                    <label for="worker-threads">Worker Threads</label>
                                    <input type="number" id="worker-threads" value="4" class="form-control">
                                </div>
                                <button class="btn btn-primary" onclick="saveConfig()">
                                    <i class="fas fa-save"></i> Save Configuration
                                </button>
                            </div>
                        </div>

                        <div class="tab-content" id="users-tab">
                            <h3>User Management</h3>
                            <div class="user-table">
                                <table class="table">
                                    <thead>
                                        <tr>
                                            <th>Username</th>
                                            <th>Email</th>
                                            <th>Role</th>
                                            <th>Status</th>
                                            <th>Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody id="user-table-body">
                                        <!-- Users will be populated here -->
                                    </tbody>
                                </table>
                            </div>
                        </div>

                        <div class="tab-content" id="logs-tab">
                            <h3>Server Logs</h3>
                            <div class="log-container">
                                <div class="log-controls">
                                    <select id="log-level" onchange="filterLogs()">
                                        <option value="all">All Levels</option>
                                        <option value="error">Error</option>
                                        <option value="warn">Warning</option>
                                        <option value="info">Info</option>
                                        <option value="debug">Debug</option>
                                    </select>
                                    <button class="btn btn-sm" onclick="refreshLogs()">
                                        <i class="fas fa-sync-alt"></i> Refresh
                                    </button>
                                </div>
                                <div class="log-viewer" id="log-viewer">
                                    <!-- Logs will be populated here -->
                                </div>
                            </div>
                        </div>

                        <div class="tab-content" id="settings-tab">
                            <h3>Server Settings</h3>
                            <div class="settings-form">
                                <div class="form-group">
                                    <label for="max-connections">Max Connections</label>
                                    <input type="number" id="max-connections" value="1000" class="form-control">
                                </div>
                                <div class="form-group">
                                    <label for="request-timeout">Request Timeout (seconds)</label>
                                    <input type="number" id="request-timeout" value="30" class="form-control">
                                </div>
                                <div class="form-group">
                                    <label for="enable-cors">Enable CORS</label>
                                    <input type="checkbox" id="enable-cors" checked class="form-checkbox">
                                </div>
                                <button class="btn btn-primary" onclick="saveSettings()">
                                    <i class="fas fa-save"></i> Save Settings
                                </button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </main>

    <!-- Footer -->
    <footer class="footer">
        <div class="container">
            <div class="footer-content">
                <div class="footer-section">
                    <h3>🦀 Rust Web Server</h3>
                    <p>Advanced high-performance web server built with Rust</p>
                    <div class="footer-links">
                        <a href="#features">Features</a>
                        <a href="#api">API</a>
                        <a href="#dashboard">Dashboard</a>
                    </div>
                </div>
                
                <div class="footer-section">
                    <h3>👥 Created by RSK World</h3>
                    <p>Founder: Molla Samser | Designer & Tester: Rima Khatun</p>
                    <div class="contact-info">
                        <div class="contact-item">
                            <i class="fas fa-envelope"></i>
                            <a href="mailto:hello@rskworld.in">hello@rskworld.in</a>
                        </div>
                        <div class="contact-item">
                            <i class="fas fa-phone"></i>
                            <a href="tel:+919330539277">+91 93305 39277</a>
                        </div>
                        <div class="contact-item">
                            <i class="fas fa-globe"></i>
                            <a href="https://rskworld.in" target="_blank">rskworld.in</a>
                        </div>
                    </div>
                </div>
                
                <div class="footer-section">
                    <h3>🛠️ Technologies</h3>
                    <div class="tech-stack">
                        <span class="tech-tag">Rust</span>
                        <span class="tech-tag">Tokio</span>
                        <span class="tech-tag">WebSocket</span>
                        <span class="tech-tag">JWT</span>
                        <span class="tech-tag">Async</span>
                    </div>
                </div>
            </div>
            
            <div class="footer-bottom">
                <p>© 2026 RSK World. All rights reserved. | Content used for educational purposes only.</p>
                <div class="footer-bottom-links">
                    <a href="https://rskworld.in/terms.php" target="_blank">Terms & Conditions</a>
                    <a href="https://rskworld.in/privacy.php" target="_blank">Privacy Policy</a>
                    <a href="https://rskworld.in/disclaimer.php" target="_blank">Disclaimer</a>
                </div>
            </div>
        </div>
    </footer>

    <!-- API Testing Modal -->
    <div id="api-modal" class="modal">
        <div class="modal-content">
            <div class="modal-header">
                <h3>API Tester</h3>
                <button class="modal-close" onclick="closeApiTester()">&times;</button>
            </div>
            <div class="modal-body">
                <div class="api-tester">
                    <div class="test-form">
                        <div class="form-group">
                            <label for="test-method">Method</label>
                            <select id="test-method" class="form-control">
                                <option value="GET">GET</option>
                                <option value="POST">POST</option>
                                <option value="PUT">PUT</option>
                                <option value="DELETE">DELETE</option>
                            </select>
                        </div>
                        <div class="form-group">
                            <label for="test-url">URL</label>
                            <input type="text" id="test-url" value="/api/info" class="form-control">
                        </div>
                        <div class="form-group">
                            <label for="test-body">Request Body (JSON)</label>
                            <textarea id="test-body" class="form-control" rows="5" placeholder='{"key": "value"}'></textarea>
                        </div>
                        <button class="btn btn-primary" onclick="executeApiTest()">
                            <i class="fas fa-play"></i> Execute
                        </button>
                    </div>
                    <div class="test-results">
                        <h4>Results</h4>
                        <div class="result-info">
                            <div class="result-item">
                                <span class="result-label">Status:</span>
                                <span class="result-value" id="test-status">-</span>
                            </div>
                            <div class="result-item">
                                <span class="result-label">Time:</span>
                                <span class="result-value" id="test-time">-</span>
                            </div>
                        </div>
                        <div class="result-body">
                            <h5>Response:</h5>
                            <pre id="test-response">No response yet</pre>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- Scripts -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-core.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script src="js/app.js"></script>
</body>
</html>
790 lines•40.8 KB
markup

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer