HTTP Protocol Guide
Best practices for API load and response correlation scenarios.
API Resilience
Capture status code distributions and latency bands under sustained load.
Feature Usage Samples
How to use snippets for HTTP Protocol Guide.
Switch between C#, Java, Python, TypeScript, and JavaScript to see the native SDK shape for this sample.
Licensing note: every runnable sample requires a valid runner key via WithRunnerKey("...") or config key LoadStrike:RunnerKey.
HTTP Step
var step = await LoadStrikeStep.Run<string>("GET /health", context, async () =>
{
var response = await client.GetAsync("https://example.com/health");
return response.IsSuccessStatusCode
? LoadStrikeResponse.Ok<string>(statusCode: ((int)response.StatusCode).ToString())
: LoadStrikeResponse.Fail<string>(statusCode: ((int)response.StatusCode).ToString());
});
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var client = HttpClient.newHttpClient();
var scenario = LoadStrikeScenario.create("http-check", context ->
LoadStrikeStep.run("GET /health", context, () -> {
var request = HttpRequest.newBuilder(URI.create("https://example.com/health")).GET().build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
return response.statusCode() < 400
? LoadStrikeResponse.ok(Integer.toString(response.statusCode()))
: LoadStrikeResponse.fail(Integer.toString(response.statusCode()));
}).asReply()
);
import urllib.request
from loadstrike_sdk import LoadStrikeResponse, LoadStrikeScenario, LoadStrikeStep
scenario = LoadStrikeScenario.create(
"http-check",
lambda context: LoadStrikeStep.run(
"GET /health",
context,
lambda: LoadStrikeResponse.ok(
str(urllib.request.urlopen("https://example.com/health").status)
),
)["as_reply"](),
)
const scenario = LoadStrikeScenario.create("http-check", async (context) => {
return LoadStrikeStep.run("GET /health", context, async () => {
const response = await fetch("https://example.com/health");
return response.ok
? LoadStrikeResponse.ok(String(response.status))
: LoadStrikeResponse.fail(String(response.status));
});
});
const scenario = LoadStrikeScenario.create("http-check", async (context) => {
return LoadStrikeStep.run("GET /health", context, async () => {
const response = await fetch("https://example.com/health");
return response.ok
? LoadStrikeResponse.ok(String(response.status))
: LoadStrikeResponse.fail(String(response.status));
});
});
Goal
Status codes
Capture the exact HTTP outcome code so success and failure percentages are visible in reports and sinks.
Latency
Measure the end-to-end request latency for the step under the configured load shape.