Requests
@@ -85,13 +190,13 @@ function renderResults(json) {
`).join('');
- const latencyCars = [
- ['P50', summary.latency.p50 ?? 0],
- ['P90', summary.latency.p90 ?? 0],
- ['P99', summary.latency.p99 ?? 0],
+ const latencyCards = [
+ ['P50', summary.latency?.p50 ?? 0],
+ ['P90', summary.latency?.p90 ?? 0],
+ ['P99', summary.latency?.p99 ?? 0],
];
-
- latencyEl.innerHTML = latencyCars.map(([title, val]) => `
+
+ document.getElementById('latency').innerHTML = latencyCards.map(([title, val]) => `
Latency
@@ -101,7 +206,6 @@ function renderResults(json) {
`).join('');
- // Bootstrap table
let table = `
@@ -123,38 +227,207 @@ function renderResults(json) {
${r.status_code || '-'}
${r.duration || '-'}
${r.error || ''}
-
- `;
+ `;
});
table += '
';
- resultsArea.innerHTML = table;
+ document.getElementById('resultsArea').innerHTML = table;
+ document.getElementById('raw').textContent = JSON.stringify(json, null, 2);
}
+// ==================== Run ====================
+
+async function runCurrentTab() {
+ const tab = getTab(activeTabId);
+ if (!tab || tab.running) return;
+
+ tab.form = readFormFromDOM();
+ tab.running = true;
+ tab.error = null;
+ tab.result = null;
+
+ renderTabBar();
+ renderOutput(tab);
+
+ const payload = {
+ method: tab.form.method,
+ endpoint: tab.form.endpoint.trim(),
+ parallel: tab.form.parallel || 1,
+ request_timeout: tab.form.request_timeout || 0,
+ max_duration: tab.form.max_duration || 0,
+ };
+
+ const bodyText = tab.form.body.trim();
+ if (bodyText) {
+ try { payload.body = JSON.parse(bodyText); } catch { payload.body = bodyText; }
+ }
+
+ const headersText = tab.form.headers.trim();
+ if (headersText) {
+ try { payload.headers = JSON.parse(headersText); } catch { payload.headers = headersText; }
+ }
+
+ try {
+ const res = await fetch(API_URL, {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify(payload),
+ });
+ const json = await res.json();
+ tab.result = json;
+ tab.error = null;
+ saveToHistory(tab.name, payload, json);
+ } catch (err) {
+ tab.error = err.message;
+ } finally {
+ tab.running = false;
+ renderTabBar();
+ if (activeTabId === tab.id) {
+ renderOutput(tab);
+ }
+ }
+}
+
+// ==================== History ====================
+
+function loadHistory() {
+ try {
+ return JSON.parse(localStorage.getItem(HISTORY_KEY)) || [];
+ } catch {
+ return [];
+ }
+}
+
+function saveToHistory(tabName, payload, result) {
+ const history = loadHistory();
+ history.unshift({
+ id: Date.now(),
+ timestamp: new Date().toISOString(),
+ tabName,
+ payload,
+ result,
+ });
+ if (history.length > MAX_HISTORY) history.length = MAX_HISTORY;
+ localStorage.setItem(HISTORY_KEY, JSON.stringify(history));
+ renderHistory();
+}
+
+function renderHistory() {
+ const history = loadHistory();
+ const list = document.getElementById('historyList');
+ const empty = document.getElementById('historyEmpty');
+
+ if (!history.length) {
+ list.innerHTML = '';
+ empty.classList.remove('d-none');
+ return;
+ }
+
+ empty.classList.add('d-none');
+ list.innerHTML = history.map(entry => {
+ const s = entry.result?.summary || {};
+ const ts = new Date(entry.timestamp).toLocaleString();
+ const method = escapeHtml(entry.payload?.method || '-');
+ const endpoint = escapeHtml(entry.payload?.endpoint || '-');
+ const total = s.total_requests ?? '-';
+ const success = s.success_count ?? '-';
+ const errors = s.error_count ?? '-';
+ return `
+
+
+
+
+ ${method}
+ ${endpoint}
+ ${ts}
+
+
+ Total: ${total}
+ Success: ${success}
+ Errors: ${errors}
+
+
+
+ Restore
+
+
+
`;
+ }).join('');
+
+ list.querySelectorAll('.restore-btn').forEach(btn => {
+ btn.addEventListener('click', () => restoreFromHistory(parseInt(btn.dataset.historyId, 10)));
+ });
+}
+
+function restoreFromHistory(id) {
+ const entry = loadHistory().find(e => e.id === id);
+ if (!entry) return;
+ const tab = getTab(activeTabId);
+ if (!tab) return;
+ const p = entry.payload || {};
+ tab.form = {
+ method: p.method || 'GET',
+ endpoint: p.endpoint || '',
+ body: p.body ? (typeof p.body === 'string' ? p.body : JSON.stringify(p.body, null, 2)) : '',
+ headers: p.headers ? (typeof p.headers === 'string' ? p.headers : JSON.stringify(p.headers, null, 2)) : '',
+ request_timeout: p.request_timeout || 10000,
+ max_duration: p.max_duration || 30000,
+ parallel: p.parallel || 5,
+ };
+ writeFormToDOM(tab.form);
+}
+
+// ==================== CSV ====================
+
function downloadCSV(results) {
if (!results?.length) return alert('No results to download');
-
- const headers = ['#','Time','Status Code','Duration','Error'];
+ const headers = ['#', 'Time', 'Status Code', 'Duration', 'Error'];
const rows = results.map((r, i) =>
[i + 1, r.time, r.status_code, r.duration, r.error || ''].join(',')
);
-
- const csvContent = '\uFEFF' + headers.join(',') + '\n' + rows.join('\n');
- const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
- const url = URL.createObjectURL(blob);
-
- const a = document.createElement('a');
- a.href = url;
- a.download = 'parallelhttp_results.csv';
+ const csv = '\uFEFF' + headers.join(',') + '\n' + rows.join('\n');
+ const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
+ const a = Object.assign(document.createElement('a'), {
+ href: URL.createObjectURL(blob),
+ download: 'parallel_results.csv',
+ });
a.click();
+ URL.revokeObjectURL(a.href);
+}
- URL.revokeObjectURL(url);
+// ==================== Utils ====================
+
+function escapeHtml(str) {
+ return String(str)
+ .replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/"/g, '"');
}
-// Handle tooltips
- document.addEventListener('DOMContentLoaded', function () {
- const tooltipTriggerList = [].slice.call(
- document.querySelectorAll('[data-bs-toggle="tooltip"]')
- );
- tooltipTriggerList.forEach(el => new bootstrap.Tooltip(el));
-});
\ No newline at end of file
+// ==================== Init ====================
+
+document.addEventListener('DOMContentLoaded', () => {
+ document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(el => new bootstrap.Tooltip(el));
+
+ const first = createTab('Tab 1');
+ activeTabId = first.id;
+ renderTabBar();
+ renderHistory();
+
+ document.getElementById('frm').addEventListener('submit', ev => {
+ ev.preventDefault();
+ runCurrentTab();
+ });
+
+ document.getElementById('addTab').addEventListener('click', () => {
+ const t = createTab();
+ switchTab(t.id);
+ });
+
+ document.getElementById('clearHistory').addEventListener('click', () => {
+ if (!confirm('Clear all history?')) return;
+ localStorage.removeItem(HISTORY_KEY);
+ renderHistory();
+ });
+});
diff --git a/static/style.css b/static/style.css
index 10439c5..90eaa20 100644
--- a/static/style.css
+++ b/static/style.css
@@ -1,15 +1,95 @@
+/* ==================== Results tab pane ==================== */
.tab-content {
background-color: #fff;
- border:1px solid #ccc;
+ border: 1px solid #ccc;
padding: 10px;
}
-.nav-tabs a.nav-link{
+.nav-tabs a.nav-link {
background-color: #fff;
color: #000;
border: 1px solid #ccc;
border-bottom: none;
}
-.nav-tabs a.nav-link.active{
+.nav-tabs a.nav-link.active {
font-weight: bold;
box-shadow: 0 -2px #b6cef1;
-}
\ No newline at end of file
+}
+
+/* ==================== Request tab bar ==================== */
+#requestTabBar .request-tab {
+ cursor: pointer;
+ border: 1px solid #dee2e6;
+ border-bottom: none;
+ border-radius: 6px 6px 0 0;
+ background: #f0f4f8;
+ font-size: 0.875rem;
+ margin-bottom: -2px;
+ transition: background 0.12s;
+ user-select: none;
+ position: relative;
+ z-index: 0;
+ border-bottom: 2px solid #b6cef1;
+}
+
+#requestTabBar .request-tab:hover {
+ background: #e4eaf0;
+}
+
+#requestTabBar .request-tab-active {
+ background: #fff;
+ font-weight: 600;
+ border-color: #b6cef1;
+ border-bottom: 2px solid #fff;
+ z-index: 1;
+}
+
+.request-tab-add {
+ border: 1px dashed #adb5bd;
+ border-bottom: none;
+ border-radius: 6px 6px 0 0;
+ background: transparent;
+ color: #6c757d;
+ padding: 0.35rem 0.7rem;
+ font-size: 0.875rem;
+ cursor: pointer;
+ margin-bottom: -2px;
+ transition: background 0.12s, color 0.12s;
+ position: relative;
+ z-index: 0;
+}
+
+.request-tab-add:hover {
+ background: #e9ecef;
+ color: #343a40;
+}
+
+.tab-close-btn {
+ background: none;
+ border: none;
+ padding: 0;
+ line-height: 1;
+ font-size: 1.1rem;
+ color: #6c757d;
+ cursor: pointer;
+ opacity: 0.55;
+}
+
+.tab-close-btn:hover {
+ opacity: 1;
+ color: #dc3545;
+}
+
+/* ==================== Form connected to tab bar ==================== */
+#frm {
+ border-top: 2px solid #b6cef1;
+ border-radius: 0 6px 6px 6px !important;
+}
+
+/* ==================== History ==================== */
+.history-entry {
+ transition: background-color 0.12s;
+}
+
+.history-entry:hover {
+ background-color: #f8f9fa !important;
+}
From 377307aad7a55d71e7fb53a9c01798846aa1c2ac Mon Sep 17 00:00:00 2001
From: nicumicle <20170987+nicumicleI@users.noreply.github.com>
Date: Fri, 6 Mar 2026 07:13:07 +0100
Subject: [PATCH 2/2] Update readme
---
README.md | 283 ++++++++++++++++++++++-------------------------
screenshot-2.png | Bin 100682 -> 72983 bytes
screenshot.png | Bin 65232 -> 97734 bytes
3 files changed, 135 insertions(+), 148 deletions(-)
diff --git a/README.md b/README.md
index c7cc2ca..50271df 100644
--- a/README.md
+++ b/README.md
@@ -1,148 +1,154 @@
-# ๐ ParallelHTTP
+
-A lightweight tool for testing APIs by sending multiple **parallel HTTP requests**.
+# ParallelHTTP
-It includes:
+**Send parallel HTTP requests. Measure latency. Stress-test your APIs.**
-- ๐ป **Web UI**
-- ๐ณ **Docker image**
-- ๐ผ **CLI mode**
-- ๐งฉ **REST API endpoint**
+[](https://go.dev)
+[](https://hub.docker.com/r/nicumicle/parallelhttp)
+[](https://github.com/nicumicle/parallelhttp/releases)
+[](./LICENSE)
+
+
+
+
---
-## ๐ Features
+## Overview
-- Send multiple parallel HTTP requests
-- Configure method, endpoint, body, timeout
-- Track response time & status
-- Aggregated summary: success/error, avg latency
-- Export responses to CSV
-- Web UI for interactive testing
-- CLI for quick terminal runs
+ParallelHTTP is a lightweight, zero-dependency tool for load testing and benchmarking HTTP APIs. Configure the number of concurrent requests, method, timeout, and duration โ then get back structured results with latency percentiles and per-request status codes.
+
+It ships as a single binary, a Docker image, and a Web UI โ so you can use whichever fits your workflow.
---
-## โ ๏ธ Disclaimer
+## Features
-This tool is intended **only for testing APIs, servers, and domains that you own or have explicit permission to test**.
-Running parallel or high-volume requests against systems without authorization may violate:
+| | |
+|---|---|
+| Parallel requests | Fire N requests simultaneously and collect every response |
+| Latency percentiles | P50, P90, P99 aggregated across all requests |
+| Multiple output formats | `json`, `yaml`, or `text` |
+| Web UI | Visual interface for interactive testing in the browser |
+| CLI | Scriptable, CI-friendly terminal usage |
+| CSV export | Download results directly from the Web UI |
+| Test endpoint | Built-in endpoint that returns random responses for trying things out |
-- Terms of Service
-- Local or international laws
-- Computer misuse or anti-fraud regulations
-- Responsible use and security policies
+---
-> [!IMPORTANT]
-> By using this tool, **you agree that you are solely responsible for ensuring you have proper authorization** to test the target systems.
-> The authors and contributors of this project assume **no liability** for any misuse, damage, or legal consequences resulting from unauthorized or unethical use.
->
-> **Use responsibly. Test only what you own.**
+## Quick Start
----
+The fastest way to get up and running:
-## ๐ฆ Installation
+```bash
+# Run the Web UI with Docker โ no installation needed
+docker run --rm -p 8080:8080 nicumicle/parallelhttp
+```
-You can use ParallelHTTP via **binary**, **Docker**, **Web UI**, or **CLI**.
+Then open [http://localhost:8080](http://localhost:8080) in your browser.
+
+---
-### 1๏ธโฃ Install Using Binaries (Recommended)
+## Installation
-Download the latest release from:
-๐ [**GitHub Releases**](https://github.com/nicumicle/parallelhttp/releases)
+### Binary (Recommended)
-Run:
+Download the pre-built binary for your OS from the [Releases page](https://github.com/nicumicle/parallelhttp/releases).
+**macOS / Linux:**
```bash
+# Make it executable
+chmod +x parallelhttp
+
+# Confirm it works
./parallelhttp --help
```
-### 2๏ธโฃ Install From Source
+**Windows:**
-```bash
-git clone https://github.com/nicumicle/parallelhttp.git
-cd parallelhttp
+Download `parallelhttp.exe` and run it from Command Prompt or PowerShell:
+```powershell
+.\parallelhttp.exe --help
```
-## ๐ฅ๏ธ Web UI
+---
-### โถ๏ธ Option A โ Run the UI with Docker
+### Docker
-```shell
-docker run --rm -p 8080:8080 -it nicumicle/parallelhttp
+```bash
+docker run --rm -p 8080:8080 nicumicle/parallelhttp
```
-Open in browser:
-๐ [http://localhost:8080](http://localhost:8080)
-
-### โถ๏ธ Option B โ Run the UI from cli
+---
-```shell
-./parallelhttp --serve --port=8080
-```
+### Build from Source
-Open in browser:
-๐ [http://localhost:8080](http://localhost:8080)
+Requires [Go 1.24+](https://go.dev/dl/).
-### โถ๏ธ Option C โ Run the UI from Go
+```bash
+git clone https://github.com/nicumicle/parallelhttp.git
+cd parallelhttp
-```shell
-go run cmd/service/main.go
+# Build the binary
+go build -o parallelhttp ./cmd/cli/main.go
```
-This service also provides a testing endpoint:
-
-Test endpoint (returns random responses)
-๐ [http://localhost:8080/test](http://localhost:8080/test)
+---
-### ๐ท Screenshots
+## Usage
-
+### Web UI
-Results:
+Start the server using any of the following methods:
-
+```bash
+# Using the binary
+./parallelhttp --serve --port=8080
-## ๐ผ CLI Usage
+# Using Docker
+docker run --rm -p 8080:8080 nicumicle/parallelhttp
-You can run the CLI using the binary or from source.
+# From source
+go run cmd/service/main.go
+```
-### โถ๏ธ Option A โ CLI Binary
+Open [http://localhost:8080](http://localhost:8080) in your browser.
-```shell
-./parallelhttp --help
-```
+**Results:**
-### โถ๏ธ Option B โ Run CLI from Source
+
-```shell
-go run cmd/cli/main.go --help
-```
+---
-```
-CLI Flags
- -duration duration Max duration for all calls. 0 = no limit
- -endpoint string Required. Target URL
- -format string text | yaml | json (default: json)
- -method string GET POST PUT PATCH DELETE (default: GET)
- -parallel int Number of parallel requests (default: 1)
- -timeout duration Request timeout (default: 10s)
- -serve bool Starts the HTTP server
- -port int Port for the HTTP Server(default: 8080)
-```
+### CLI
-Example
+Run parallel requests directly from your terminal.
-```shell
-go run cmd/cli/main.go \
- --endpoint=http://localhost:8080/test \
- --parallel=5 \
+```bash
+./parallelhttp \
+ --endpoint=https://api.example.com/health \
+ --parallel=10 \
--method=GET \
--timeout=2s \
- --duration=10s \
+ --duration=30s \
--format=json
```
-Output:
+**Flags:**
+
+| Flag | Required | Description | Default |
+|------|----------|-------------|---------|
+| `--endpoint` | Yes | Target URL | โ |
+| `--parallel` | No | Number of concurrent requests | `1` |
+| `--method` | No | HTTP method: `GET` `POST` `PUT` `PATCH` `DELETE` | `GET` |
+| `--timeout` | No | Per-request timeout (e.g. `500ms`, `2s`) | `10s` |
+| `--duration` | No | Total run duration (e.g. `30s`, `5m`). `0` = unlimited | `0` |
+| `--format` | No | Output format: `json` `yaml` `text` | `json` |
+| `--serve` | No | Start the Web UI server | โ |
+| `--port` | No | Web UI server port | `8080` |
+
+**Example output (`--format=json`):**
```json
{
@@ -150,85 +156,66 @@ Output:
{
"response": {
"status_code": 200,
- "time": "2025-12-02T04:39:26.450811405+01:00",
+ "time": "2025-12-02T04:39:26.450811Z",
"duration": 176680135,
- "duration_h": "176.680135ms"
- },
- "error": null,
- "error_message": null
- },
- {
- "response": {
- "status_code": 200,
- "time": "2025-12-02T04:39:26.450838753+01:00",
- "duration": 177105875,
- "duration_h": "177.105875ms"
- },
- "error": null,
- "error_message": null
- },
- {
- "response": {
- "status_code": 200,
- "time": "2025-12-02T04:39:26.450989804+01:00",
- "duration": 176999320,
- "duration_h": "176.99932ms"
- },
- "error": null,
- "error_message": null
- },
- {
- "response": {
- "status_code": 200,
- "time": "2025-12-02T04:39:26.450761076+01:00",
- "duration": 177158817,
- "duration_h": "177.158817ms"
- },
- "error": null,
- "error_message": null
- },
- {
- "response": {
- "status_code": 200,
- "time": "2025-12-02T04:39:26.450879196+01:00",
- "duration": 179940733,
- "duration_h": "179.940733ms"
+ "duration_h": "176.68ms"
},
"error": null,
"error_message": null
}
],
"stats": {
- "start_time": "2025-12-02T04:39:26.450727731+01:00",
- "end_time": "2025-12-02T04:39:26.630824982+01:00",
- "duration": "180.097251ms",
+ "start_time": "2025-12-02T04:39:26.450727Z",
+ "end_time": "2025-12-02T04:39:26.630824Z",
+ "duration": "180.09ms",
"latency": {
- "p50": "177.105875ms",
- "p90": "179.940733ms",
- "p99": "179.940733ms"
+ "p50": "177.10ms",
+ "p90": "179.94ms",
+ "p99": "179.94ms"
}
}
}
```
-## ๐งฉ REST Endpoint
+---
+
+### REST API
-When running the UI service:
+When the server is running, a built-in test endpoint is available that returns random HTTP responses. It is useful for verifying your setup before pointing the tool at a real API.
-```shell
+```bash
curl http://localhost:8080/test
```
-## ๐งก Credits
+---
+
+## Responsible Use
+
+> [!IMPORTANT]
+> ParallelHTTP is intended **only for testing APIs, servers, and domains you own or have explicit permission to test.**
+>
+> Sending high-volume requests to systems without authorization may violate terms of service, computer misuse laws, or security policies. **The authors assume no liability for any misuse.**
+>
+> Test only what you own.
+
+---
+
+## Contributing
-Built with [Go](https://go.dev/), [Bootstrap](https://getbootstrap.com/), and curiosity.
+Contributions are welcome. Please open an issue to discuss significant changes before submitting a pull request.
+---
+
+## License
+
+MIT โ see [LICENSE](./LICENSE) for details.
+
+---
-## ๐ License
+
-Licensed under the MIT License.
-See the full license here: [LICENSE](./LICENSE)
+Built with [Go](https://go.dev/) and [Bootstrap](https://getbootstrap.com/).
-## โญ Support
+If you find this useful, give it a โญ
-If you like this project, give it a โญ and share it with your friends!
+
diff --git a/screenshot-2.png b/screenshot-2.png
index 696c62de2757fdb2b303c1a250e96e60e361f7c3..76d536d8a42dfbade043c6406865d984154c0337 100644
GIT binary patch
literal 72983
zcmd421yGw^*ESm3Qo$-facGOX2A39!1PBy&D8&h`MFLcS7Hx5YyF($tC2cA0k_30x
z;u`qV=Xu`u{pOtczxn2$bIzPSnc>dOx>xqS*V=3Ez1DSoex;^JOh8Ql004+VN-s45
zfLj9qz>UGXw{dqu74;f$e{Q+Ug0%1An*UwPPq^9`gDgTF%xU-sWyr02?P~M=Nf3
z3pXn(CwE(CkKLO{X`B%AA0at6D{~J!XQwCHc8*p61-B=B!cV|UZchaG1caaPiHPGq
zKvDJN^oIbz69DMt3+=b5ThoEs+9%Ds*AxqU>6JuliToU|h#oZnfTxTvqHN})X(MJ%
z8O7e(g>{s^23thcu
2BOi$
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