Interface HttpRequest
- All Superinterfaces:
HttpMessage
- All Known Subinterfaces:
HttpRequestToBeSent
,InterceptedRequest
Burp HTTP request able to retrieve and modify details of an HTTP request.
-
Method Summary
Modifier and TypeMethodDescriptionbody()
Body of a message as a byte array.int
Offset within the message where the message body begins.Body of a message as aString
.boolean
Searches the data in the HTTP message for the specified search term.boolean
Searches the data in the HTTP message for the specified regular expression.Create a copy of theHttpRequest
in temporary file.
This method is used to save theHttpRequest
object to a temporary file, so that it is no longer held in memory.The file extension for the request.boolean
hasHeader
(HttpHeader header) boolean
boolean
boolean
hasParameter
(HttpParameter parameter) boolean
hasParameter
(String name, HttpParameterType type) boolean
boolean
headers()
HTTP headers contained in the message.headerValue
(String name) static HttpRequest
http2Request
(HttpService service, List<HttpHeader> headers, ByteArray body) Create a new instance ofHttpRequest
containing HTTP 2 headers and body.static HttpRequest
http2Request
(HttpService service, List<HttpHeader> headers, String body) Create a new instance ofHttpRequest
containing HTTP 2 headers and body.static HttpRequest
Create a new empty instance ofHttpRequest
.static HttpRequest
httpRequest
(ByteArray request) Create a new instance ofHttpRequest
.static HttpRequest
httpRequest
(HttpService service, ByteArray request) Create a new instance ofHttpRequest
.static HttpRequest
httpRequest
(HttpService service, String request) Create a new instance ofHttpRequest
.static HttpRequest
httpRequest
(String request) Create a new instance ofHttpRequest
.static HttpRequest
httpRequestFromUrl
(String url) Create a new instance ofHttpRequest
.HTTP service for the request.HTTP Version text parsed from the request or response line for HTTP 1 messages.boolean
markers()
Markers for the message.method()
HTTP method for the request.parameter
(String name, HttpParameterType type) parameters
(HttpParameterType type) parameterValue
(String name, HttpParameterType type) path()
Request path including the query parameters.Request path excluding the query parameters.query()
The query for the request.Message as a byte array.toString()
Message as aString
.url()
URL for the request.withAddedHeader
(HttpHeader header) Create a copy of theHttpRequest
with the added header.withAddedHeader
(String name, String value) Create a copy of theHttpRequest
with the added header.withAddedHeaders
(HttpHeader... headers) Create a copy of theHttpRequest
with the added HTTP headers.withAddedHeaders
(List<? extends HttpHeader> headers) Create a copy of theHttpRequest
with the added HTTP headers.withAddedParameters
(HttpParameter... parameters) Create a copy of theHttpRequest
with the added HTTP parameters.withAddedParameters
(List<? extends HttpParameter> parameters) Create a copy of theHttpRequest
with the added HTTP parameters.Create a copy of theHttpRequest
with the updated body.
Updates Content-Length header.Create a copy of theHttpRequest
with the updated body.
Updates Content-Length header.Create a copy of theHttpRequest
with added default headers.withHeader
(HttpHeader header) Create a copy of theHttpRequest
with the added or updated header.
If the header exists in the request, it is updated.
If the header doesn't exist in the request, it is added.withHeader
(String name, String value) Create a copy of theHttpRequest
with the added or updated header.
If the header exists in the request, it is updated.
If the header doesn't exist in the request, it is added.withMarkers
(Marker... markers) Create a copy of theHttpRequest
with the added markers.withMarkers
(List<Marker> markers) Create a copy of theHttpRequest
with the added markers.withMethod
(String method) Create a copy of theHttpRequest
with the new method.withParameter
(HttpParameter parameters) Create a copy of theHttpRequest
with the HTTP parameter.
If the parameter exists in the request, it is updated.
If the parameter doesn't exist in the request, it is added.Create a copy of theHttpRequest
with the new path.withRemovedHeader
(HttpHeader header) Removes an existing HTTP header from the current request.withRemovedHeader
(String name) Removes an existing HTTP header from the current request.withRemovedHeaders
(HttpHeader... headers) Create a copy of theHttpRequest
with the removed HTTP headers.withRemovedHeaders
(List<? extends HttpHeader> headers) Create a copy of theHttpRequest
with the removed HTTP headers.withRemovedParameters
(HttpParameter... parameters) Create a copy of theHttpRequest
with the removed HTTP parameters.withRemovedParameters
(List<? extends HttpParameter> parameters) Create a copy of theHttpRequest
with the removed HTTP parameters.withService
(HttpService service) Create a copy of theHttpRequest
with the new service.withTransformationApplied
(HttpTransformation transformation) Create a copy of theHttpRequest
with the transformation applied.withUpdatedHeader
(HttpHeader header) Create a copy of theHttpRequest
with the updated header.withUpdatedHeader
(String name, String value) Create a copy of theHttpRequest
with the updated header.withUpdatedHeaders
(HttpHeader... headers) Create a copy of theHttpRequest
with the updated HTTP headers.withUpdatedHeaders
(List<? extends HttpHeader> headers) Create a copy of theHttpRequest
with the updated HTTP headers.withUpdatedParameters
(HttpParameter... parameters) Create a copy of theHttpRequest
with the updated HTTP parameters.withUpdatedParameters
(List<? extends HttpParameter> parameters) Create a copy of theHttpRequest
with the updated HTTP parameters.
-
Method Details
-
isInScope
boolean isInScope()- Returns:
- True if the request is in-scope.
-
httpService
HttpService httpService()HTTP service for the request.- Returns:
- An
HttpService
object containing details of the HTTP service.
-
url
String url()URL for the request. If the request is malformed, then aMalformedRequestException
is thrown.- Returns:
- The URL in the request.
- Throws:
MalformedRequestException
- if request is malformed.
-
method
String method()HTTP method for the request. If the request is malformed, then aMalformedRequestException
is thrown.- Returns:
- The HTTP method used in the request.
- Throws:
MalformedRequestException
- if request is malformed.
-
path
String path()Request path including the query parameters. If the request is malformed, then aMalformedRequestException
is thrown.- Returns:
- the path and query parameters.
- Throws:
MalformedRequestException
- if request is malformed.
-
query
String query()The query for the request. If the request is malformed, then aMalformedRequestException
is thrown.- Returns:
- the query, or an empty string if there is none.
- Throws:
MalformedRequestException
- if request is malformed.
-
pathWithoutQuery
String pathWithoutQuery()Request path excluding the query parameters. If the request is malformed, then aMalformedRequestException
is thrown.- Returns:
- the path excluding query parameters.
- Throws:
MalformedRequestException
- if request is malformed.
-
fileExtension
String fileExtension()The file extension for the request. If the request is malformed, then aMalformedRequestException
is thrown.- Returns:
- the file extension, or an empty string if there is none.
- Throws:
MalformedRequestException
- if request is malformed.
-
contentType
ContentType contentType()- Returns:
- The detected content type of the request.
-
parameters
List<ParsedHttpParameter> parameters()- Returns:
- The parameters contained in the request.
-
parameters
- Parameters:
type
- The type of parameter that will be returned in the filtered list.- Returns:
- A filtered list of
ParsedHttpParameter
containing only the provided type.
-
hasParameters
boolean hasParameters()- Returns:
- True if the request has parameters.
-
hasParameters
- Returns:
- True if the request has parameters of type
HttpParameterType
-
parameter
- Parameters:
name
- The name of the parameter to find.type
- The type of the parameter to find.- Returns:
- An instance of
ParsedHttpParameter
that matches the type and name specified.null
if not found.
-
parameterValue
- Parameters:
name
- The name of the parameter to get the value from.type
- The type of the parameter to get the value from.- Returns:
- The value of the parameter that matches the name and type specified.
null
if not found.
-
hasParameter
- Parameters:
name
- The name of the parameter to find.type
- The type of the parameter to find.- Returns:
true
if a parameter exists that matches the name and type specified.false
if not found.
-
hasParameter
- Parameters:
parameter
- An instance ofHttpParameter
to match to an existing parameter.- Returns:
true
if a parameter exists that matches the data within the providedHttpParameter
.false
if not found.
-
hasHeader
- Specified by:
hasHeader
in interfaceHttpMessage
- Parameters:
header
- The header to check if it exists in the request.- Returns:
- True if the header exists in the request.
-
hasHeader
- Specified by:
hasHeader
in interfaceHttpMessage
- Parameters:
name
- The name of the header to query within the request.- Returns:
- True if a header exists in the request with the supplied name.
-
hasHeader
- Specified by:
hasHeader
in interfaceHttpMessage
- Parameters:
name
- The name of the header to check.value
- The value of the header to check.- Returns:
- True if a header exists in the request that matches the name and value supplied.
-
header
- Specified by:
header
in interfaceHttpMessage
- Parameters:
name
- The name of the header to retrieve.- Returns:
- An instance of
HttpHeader
that matches the name supplied,null
if no match found.
-
headerValue
- Specified by:
headerValue
in interfaceHttpMessage
- Parameters:
name
- The name of the header to retrieve.- Returns:
- The
String
value of the header that matches the name supplied,null
if no match found.
-
headers
List<HttpHeader> headers()HTTP headers contained in the message.- Specified by:
headers
in interfaceHttpMessage
- Returns:
- A list of HTTP headers.
-
httpVersion
String httpVersion()HTTP Version text parsed from the request or response line for HTTP 1 messages. HTTP 2 messages will return "HTTP/2"- Specified by:
httpVersion
in interfaceHttpMessage
- Returns:
- Version string
-
bodyOffset
int bodyOffset()Offset within the message where the message body begins.- Specified by:
bodyOffset
in interfaceHttpMessage
- Returns:
- The message body offset.
-
body
ByteArray body()Body of a message as a byte array.- Specified by:
body
in interfaceHttpMessage
- Returns:
- The body of a message as a byte array.
-
bodyToString
String bodyToString()Body of a message as aString
.- Specified by:
bodyToString
in interfaceHttpMessage
- Returns:
- The body of a message as a
String
.
-
markers
Markers for the message.- Specified by:
markers
in interfaceHttpMessage
- Returns:
- A list of markers.
-
contains
Searches the data in the HTTP message for the specified search term.- Specified by:
contains
in interfaceHttpMessage
- Parameters:
searchTerm
- The value to be searched for.caseSensitive
- Flags whether the search is case-sensitive.- Returns:
- True if the search term is found.
-
contains
Searches the data in the HTTP message for the specified regular expression.- Specified by:
contains
in interfaceHttpMessage
- Parameters:
pattern
- The regular expression to be searched for.- Returns:
- True if the pattern is matched.
-
toByteArray
ByteArray toByteArray()Message as a byte array.- Specified by:
toByteArray
in interfaceHttpMessage
- Returns:
- The message as a byte array.
-
toString
String toString()Message as aString
.- Specified by:
toString
in interfaceHttpMessage
- Overrides:
toString
in classObject
- Returns:
- The message as a
String
.
-
copyToTempFile
HttpRequest copyToTempFile()Create a copy of theHttpRequest
in temporary file.
This method is used to save theHttpRequest
object to a temporary file, so that it is no longer held in memory. Extensions can use this method to convertHttpRequest
objects into a form suitable for long-term usage.- Returns:
- A new
HttpRequest
instance stored in temporary file.
-
withService
Create a copy of theHttpRequest
with the new service.- Parameters:
service
- AnHttpService
reference to add.- Returns:
- A new
HttpRequest
instance.
-
withPath
Create a copy of theHttpRequest
with the new path.- Parameters:
path
- The path to use.- Returns:
- A new
HttpRequest
instance with updated path.
-
withMethod
Create a copy of theHttpRequest
with the new method.- Parameters:
method
- the method to use- Returns:
- a new
HttpRequest
instance with updated method.
-
withHeader
Create a copy of theHttpRequest
with the added or updated header.
If the header exists in the request, it is updated.
If the header doesn't exist in the request, it is added.- Parameters:
header
- HTTP header to add or update.- Returns:
- A new
HttpRequest
with the added or updated header.
-
withHeader
Create a copy of theHttpRequest
with the added or updated header.
If the header exists in the request, it is updated.
If the header doesn't exist in the request, it is added.- Parameters:
name
- The name of the header.value
- The value of the header.- Returns:
- A new
HttpRequest
with the added or updated header.
-
withParameter
Create a copy of theHttpRequest
with the HTTP parameter.
If the parameter exists in the request, it is updated.
If the parameter doesn't exist in the request, it is added.- Parameters:
parameters
- HTTP parameter to add or update.- Returns:
- A new
HttpRequest
with the added or updated parameter.
-
withAddedParameters
Create a copy of theHttpRequest
with the added HTTP parameters.- Parameters:
parameters
- HTTP parameters to add.- Returns:
- A new
HttpRequest
instance.
-
withAddedParameters
Create a copy of theHttpRequest
with the added HTTP parameters.- Parameters:
parameters
- HTTP parameters to add.- Returns:
- A new
HttpRequest
instance.
-
withRemovedParameters
Create a copy of theHttpRequest
with the removed HTTP parameters.- Parameters:
parameters
- HTTP parameters to remove.- Returns:
- A new
HttpRequest
instance.
-
withRemovedParameters
Create a copy of theHttpRequest
with the removed HTTP parameters.- Parameters:
parameters
- HTTP parameters to remove.- Returns:
- A new
HttpRequest
instance.
-
withUpdatedParameters
Create a copy of theHttpRequest
with the updated HTTP parameters.- Parameters:
parameters
- HTTP parameters to update.- Returns:
- A new
HttpRequest
instance.
-
withUpdatedParameters
Create a copy of theHttpRequest
with the updated HTTP parameters.- Parameters:
parameters
- HTTP parameters to update.- Returns:
- A new
HttpRequest
instance.
-
withTransformationApplied
Create a copy of theHttpRequest
with the transformation applied.- Parameters:
transformation
- Transformation to apply.- Returns:
- A new
HttpRequest
instance.
-
withBody
Create a copy of theHttpRequest
with the updated body.
Updates Content-Length header.- Parameters:
body
- the new body for the request- Returns:
- A new
HttpRequest
instance.
-
withBody
Create a copy of theHttpRequest
with the updated body.
Updates Content-Length header.- Parameters:
body
- the new body for the request- Returns:
- A new
HttpRequest
instance.
-
withAddedHeader
Create a copy of theHttpRequest
with the added header.- Parameters:
name
- The name of the header.value
- The value of the header.- Returns:
- The updated HTTP request with the added header.
-
withAddedHeader
Create a copy of theHttpRequest
with the added header.- Parameters:
header
- TheHttpHeader
to add to the HTTP request.- Returns:
- The updated HTTP request with the added header.
-
withAddedHeaders
Create a copy of theHttpRequest
with the added HTTP headers.- Parameters:
headers
- HTTP headers to add.- Returns:
- A new
HttpRequest
instance.
-
withAddedHeaders
Create a copy of theHttpRequest
with the added HTTP headers.- Parameters:
headers
- HTTP headers to add.- Returns:
- A new
HttpRequest
instance.
-
withUpdatedHeader
Create a copy of theHttpRequest
with the updated header.- Parameters:
name
- The name of the header to update the value of.value
- The new value of the specified HTTP header.- Returns:
- The updated request containing the updated header.
-
withUpdatedHeader
Create a copy of theHttpRequest
with the updated header.- Parameters:
header
- TheHttpHeader
to update containing the new value.- Returns:
- The updated request containing the updated header.
-
withUpdatedHeaders
Create a copy of theHttpRequest
with the updated HTTP headers.- Parameters:
headers
- HTTP headers to update.- Returns:
- A new
HttpRequest
instance.
-
withUpdatedHeaders
Create a copy of theHttpRequest
with the updated HTTP headers.- Parameters:
headers
- HTTP headers to update.- Returns:
- A new
HttpRequest
instance.
-
withRemovedHeader
Removes an existing HTTP header from the current request.- Parameters:
name
- The name of the HTTP header to remove from the request.- Returns:
- The updated request containing the removed header.
-
withRemovedHeader
Removes an existing HTTP header from the current request.- Parameters:
header
- TheHttpHeader
to remove from the request.- Returns:
- The updated request containing the removed header.
-
withRemovedHeaders
Create a copy of theHttpRequest
with the removed HTTP headers.- Parameters:
headers
- HTTP headers to remove.- Returns:
- A new
HttpRequest
instance.
-
withRemovedHeaders
Create a copy of theHttpRequest
with the removed HTTP headers.- Parameters:
headers
- HTTP headers to remove.- Returns:
- A new
HttpRequest
instance.
-
withMarkers
Create a copy of theHttpRequest
with the added markers.- Parameters:
markers
- Request markers to add.- Returns:
- A new
HttpRequest
instance.
-
withMarkers
Create a copy of theHttpRequest
with the added markers.- Parameters:
markers
- Request markers to add.- Returns:
- A new
HttpRequest
instance.
-
withDefaultHeaders
HttpRequest withDefaultHeaders()Create a copy of theHttpRequest
with added default headers.- Returns:
- a new
HttpRequest
with added default headers
-
httpRequest
Create a new empty instance ofHttpRequest
.- Returns:
- A new
HttpRequest
instance.
-
httpRequest
Create a new instance ofHttpRequest
.- Parameters:
request
- The HTTP request- Returns:
- A new
HttpRequest
instance.
-
httpRequest
Create a new instance ofHttpRequest
.- Parameters:
request
- The HTTP request.- Returns:
- A new
HttpRequest
instance.
-
httpRequest
Create a new instance ofHttpRequest
.- Parameters:
service
- An HTTP service for the request.request
- The HTTP request.- Returns:
- A new
HttpRequest
instance.
-
httpRequest
Create a new instance ofHttpRequest
.- Parameters:
service
- An HTTP service for the request.request
- The HTTP request.- Returns:
- A new
HttpRequest
instance.
-
httpRequestFromUrl
Create a new instance ofHttpRequest
.- Parameters:
url
- A URL for the request.- Returns:
- A new
HttpRequest
instance.
-
http2Request
Create a new instance ofHttpRequest
containing HTTP 2 headers and body.- Parameters:
service
- An HTTP service for the request.headers
- A list of HTTP 2 headers.body
- A body of the HTTP 2 request.- Returns:
- A new
HttpRequest
instance.
-
http2Request
Create a new instance ofHttpRequest
containing HTTP 2 headers and body.- Parameters:
service
- An HTTP service for the request.headers
- A list of HTTP 2 headers.body
- A body of the HTTP 2 request.- Returns:
- A new
HttpRequest
instance.
-