Skip to content
Allure report logoAllure Report
Main Navigation ModulesDocumentationStarter Project

English

Español

English

Español

Appearance

Sidebar Navigation

Allure 3

Install & Upgrade

Install Allure

Upgrade Allure

Configure

Create Reports

How to generate a report

How to view a report

Improving readability of your test reports

Improving navigation in your test report

Reading Allure charts

Migrate from Allure 2

Allure 2

Install & Upgrade

Install for Windows

Install for macOS

Install for Linux

Install for Node.js

Upgrade Allure

Create Reports

How to generate a report

How to view a report

Improving readability of your test reports

Improving navigation in your test report

Features

Agent Mode

Test steps

Attachments

Test statuses

Assertion diffs

Sorting and filtering

Environments

Multistage Builds

Categories

Visual analytics

Test stability analysis

History and retries

Self-hosted storage

Quality Gate

Global Errors and Attachments

Timeline

Export to CSV

Export metrics

Guides

JUnit 5 parametrization

JUnit 5 & Selenide: screenshots and attachments

JUnit 5 & Selenium: screenshots and attachments

Setting up JUnit 5 with GitHub Actions

Pytest parameterization

Pytest & Selenium: screenshots and attachments

Pytest & Playwright: screenshots and attachments

Pytest & Playwright: videos

Playwright parameterization

Publishing Reports to GitHub Pages

Deploying Self-Hosted Storage with Docker

Deploying Self-Hosted Storage on Cloudflare Workers

Allure Report 3: XCResults Reader

How it works

Overview

Glossary

Test result file

Container file

Categories file

Environment file

Executor file

History files

Test Identifiers

Integrations

Azure DevOps

Bamboo

GitHub Action

Gradle

Jenkins

JetBrains IDEs

Maven

TeamCity

Visual Studio Code

Frameworks

AVA

Getting started

Configuration

Reference

Axios

Getting started

Configuration

Reference

Behat

Getting started

Configuration

Reference

Behave

Getting started

Configuration

Reference

Bun

Getting started

Configuration

Reference

Chai

Getting started

Reference

Codeception

Getting started

Configuration

Reference

CodeceptJS

Getting started

Configuration

Reference

Cucumber.js

Getting started

Configuration

Reference

Cucumber-JVM

Getting started

Configuration

Reference

Cucumber.rb

Getting started

Configuration

Reference

Cypress

Getting started

Configuration

Reference

Dart and Flutter

Getting started

Configuration

Reference

Diesel

Getting started

Configuration

Reference

Fetch

Getting started

Configuration

Reference

Go

Getting started

Configuration

Reference

Jasmine

Getting started

Configuration

Reference

JBehave

Getting started

Configuration

Reference

Jest

Getting started

Configuration

Reference

JUnit 4

Getting started

Configuration

Reference

JUnit 5

Getting started

Configuration

Reference

Mocha

Getting started

Configuration

Reference

Newman

Getting started

Configuration

Reference

Node.js Test Runner

Getting started

Configuration

Reference

NUnit

Getting started

Configuration

Reference

PHPUnit

Getting started

Configuration

Reference

Playwright

Getting started

Configuration

Reference

Playwright Java

Getting started

Configuration

Reference

pytest

Getting started

Configuration

Reference

Pytest-BDD

Getting started

Configuration

Reference

Reqnroll

Getting started

Configuration

Reference

Reqwest

Getting started

Configuration

Reference

REST Assured

Getting started

Configuration

Robot Framework

Getting started

Configuration

Reference

Rust Cargo Test

Getting started

Configuration

Reference

RSpec

Getting started

Configuration

Reference

Selenide

Getting started

Configuration

Reference

Selenium BiDi

Getting started

Configuration

Reference

SpecFlow

Getting started

Configuration

Reference

Spock

Getting started

Configuration

Reference

TestCafe

Getting started

Configuration

Reference

TestNG

Getting started

Configuration

Reference

Vitest

Getting started

Configuration

Reference

WebdriverIO

Getting started

Configuration

Reference

xUnit.net

Getting started

Configuration

Reference

On this page

Allure Reqwest reference ​

Attachment schema ​

Each HTTP exchange is recorded as an HTTP exchange attachment with content type application/vnd.allure.http+json and file extension .httpexchange. The schema is shared across Allure's HTTP-capturing integrations (allure_rust_commons::HttpExchange); the tables below list every field the shared type supports, and note which ones allure-reqwest actually populates — several exist only for other, richer integrations and are always absent from a reqwest-captured exchange.

The root object:

FieldTypePopulated by allure-reqwest?
schemaVersion1Always 1.
startnumberAlways — Unix timestamp in milliseconds when the request started.
stopnumberAlways — Unix timestamp in milliseconds when the response or error was received.
requestobjectAlways. See Request.
responseobjectPresent when a response was received. See Response.
errorobjectPresent when the request failed. See Error.

Unlike some other Allure HTTP integrations, a non-2xx/3xx HTTP status is not an error by itself: reqwest doesn't treat 4xx/5xx as a failure, so allure-reqwest doesn't either — you get a normal response with no error. error is only present for transport failures (connection errors, timeouts) or a failure while reading the response body.

Request ​

FieldTypePopulated by allure-reqwest?
methodstringAlways — HTTP method, e.g. "POST".
urlstringAlways — the resolved request URL, including query parameters in unredacted form.
httpVersionstringAlways — e.g. "HTTP/1.1".
headers{name, value}[]Present when the request has headers, after redaction.
query{name, value}[]Present when the URL has query parameters, after redaction.
bodyobjectPresent when request body capture is enabled (default) and the body is available as in-memory bytes. See Body.
cookiesCookie[]Never — allure-reqwest does not parse the Cookie header into structured cookies.
trailers{name, value}[]Never.

WARNING

A request body built from a stream (anything where reqwest::Body::as_bytes() returns None — for example a body constructed from a futures::Stream) is silently not captured: body is simply absent from the attachment, with no placeholder and no indication that a body existed. Only in-memory bodies (&str, String, Vec<u8>, Bytes, forms, and similar) are captured.

Response ​

FieldTypePopulated by allure-reqwest?
statusnumberAlways.
statusTextstringAlways, when the status has a canonical reason phrase (e.g. "Created" for 201).
httpVersionstringAlways.
headers{name, value}[]Present when the response has headers, after redaction.
bodyobjectPresent only when response body capture is explicitly enabled (see Configuration) and the body was read successfully. See Body.
cookiesCookie[]Never.
trailers{name, value}[]Never.
informationalResponsesobject[]Never.

Body ​

FieldTypePopulated by allure-reqwest?
contentTypestringPresent when a Content-Type header is present on that side of the exchange.
encoding"utf8" | "base64"Always present alongside value: "utf8" when the captured bytes are valid UTF-8, "base64" otherwise.
valuestringAlways present alongside encoding — the captured bytes, up to the size limit.
sizenumberAlways — the original, untruncated byte length, even when value was cut short.
truncatedbooleanAlways — true when the original body was larger than the configured limit.
form{name, value}[]Never — allure-reqwest does not parse application/x-www-form-urlencoded bodies into fields; they're only captured as the raw value string.
partsobject[]Never — multipart bodies are captured as a single raw value, not broken into parts.
streamobjectNever — see the warning above; a streamed body has no body field at all, not a stream placeholder.

Error ​

FieldTypePopulated by allure-reqwest?
namestringAlways — "reqwest::Error" for AllureReqwestClient, "reqwest_middleware::Error" for AllureReqwestMiddleware.
messagestringAlways — the error's Display output.
stackstringNever — there is no option to capture one.

AllureReqwestClient ​

  • AllureReqwestClient::new(allure: AllureFacade) — wraps a new reqwest::Client
  • AllureReqwestClient::with_client(client: reqwest::Client, allure: AllureFacade) — wraps an existing client
  • .with_options(options: CaptureOptions) — see Configuration
  • .inner() -> &reqwest::Client — the wrapped client
  • .request(method, url), .get(url), .post(url), .put(url), .patch(url), .delete(url), .head(url) — return a plain reqwest::RequestBuilder, same as reqwest::Client
  • .send(builder: RequestBuilder) -> reqwest::Result<Response> — builds and executes the request builder while capturing the exchange
  • .execute(request: Request) -> reqwest::Result<Response> — executes an already-built Request while capturing the exchange

Only requests sent through .send()/.execute() are captured. Building a request with .get()/ .post()/etc. and sending it through the plain reqwest::RequestBuilder API instead (bypassing .send()) is not captured.

AllureReqwestMiddleware ​

Requires the middleware feature.

  • AllureReqwestMiddleware::new(allure: AllureFacade)
  • .with_options(options: CaptureOptions) — see Configuration

Implements reqwest_middleware::Middleware; attach it with ClientBuilder::new(reqwest::Client::new()).with(middleware).build(). Every request made through the resulting ClientWithMiddleware is captured — no per-call changes needed.

Pager
Previous pageConfiguration
Next pageGetting started
Powered by

Subscribe to our newsletter

Get product news you actually need, no spam.

Subscribe
Allure TestOps
  • Overview
  • Why choose us
  • Cloud
  • Self-hosted
  • Success Stories
Company
  • Documentation
  • Blog
  • About us
  • Contact
  • Events
© 2026 Qameta Software Inc. All rights reserved.
A Markdown version of this page is available at /docs/reqwest-reference.md