JUCE: URL::InputStreamOptions Class Reference

JUCE

Public Member Functions | List of all members
URL::InputStreamOptions Class Reference
juce_core » network

Class used to create a set of options to pass to the createInputStream() method. More...

`#include <juce_URL.h>`

## Public Member Functions
| InputStreamOptions (ParameterHandling parameterHandling)
| Constructor. More...
JUCE_NODISCARD InputStreamOptions | withProgressCallback (std::function< bool(int bytesSent, int totalBytes)> progressCallback) const
| A callback function to keep track of the operation's progress. More...
JUCE_NODISCARD InputStreamOptions | withExtraHeaders (const String &extraHeaders) const
| A string that will be appended onto the headers that are used for the request. More...
JUCE_NODISCARD InputStreamOptions | withConnectionTimeoutMs (int connectionTimeoutMs) const
| Specifies a timeout for the request in milliseconds. More...
JUCE_NODISCARD InputStreamOptions | withResponseHeaders (StringPairArray *responseHeaders) const
| If this is non-null, all the (key, value) pairs received as headers in the response will be stored in this array. More...
JUCE_NODISCARD InputStreamOptions | withStatusCode (int *statusCode) const
| If this is non-null, it will get set to the http status code, if one is known, or 0 if a code isn't available. More...
JUCE_NODISCARD InputStreamOptions | withNumRedirectsToFollow (int numRedirectsToFollow) const
| Specifies the number of redirects that will be followed before returning a response. More...
JUCE_NODISCARD InputStreamOptions | withHttpRequestCmd (const String &httpRequestCmd) const
| Specifies which HTTP request command to use. More...
ParameterHandling | getParameterHandling () const noexcept
std::function< bool(int, int)> | getProgressCallback () const noexcept
String | getExtraHeaders () const noexcept
int | getConnectionTimeoutMs () const noexcept
StringPairArray * | getResponseHeaders () const noexcept
int * | getStatusCode () const noexcept
int | getNumRedirectsToFollow () const noexcept
String | getHttpRequestCmd () const noexcept

## Detailed Description

Class used to create a set of options to pass to the createInputStream() method.

You can chain together a series of calls to this class's methods to create a set of whatever options you want to specify, e.g.

if (auto inputStream = URL ("http://www.xyz.com/foobar")
.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress)
.withConnectionTimeoutMs (1000)
.withNumRedirectsToFollow (0)))
{
...
}
URL::InputStreamOptions
Class used to create a set of options to pass to the createInputStream() method.
Definition: juce_URL.h:326
URL::InputStreamOptions::withNumRedirectsToFollow
JUCE_NODISCARD InputStreamOptions withNumRedirectsToFollow(int numRedirectsToFollow) const
Specifies the number of redirects that will be followed before returning a response.
URL::InputStreamOptions::withConnectionTimeoutMs
JUCE_NODISCARD InputStreamOptions withConnectionTimeoutMs(int connectionTimeoutMs) const
Specifies a timeout for the request in milliseconds.
URL
Represents a URL and has a bunch of useful functions to manipulate it.
Definition: juce_URL.h:39
URL::createInputStream
std::unique_ptr< InputStream > createInputStream(const InputStreamOptions &options) const
Attempts to open a stream that can read from this URL.
URL::ParameterHandling::inAddress
@ inAddress

## Constructor & Destructor Documentation

## ◆ InputStreamOptions()

URL::InputStreamOptions::InputStreamOptions | ( | ParameterHandling | parameterHandling | ) |
| explicit

Constructor.

If parameterHandling is ParameterHandling::inPostData, any URL parameters that have been set will be transferred via the request body data. Otherwise the parameters will be added to the URL address.

## Member Function Documentation

## ◆ withProgressCallback()

JUCE_NODISCARD InputStreamOptions URL::InputStreamOptions::withProgressCallback | ( | std::function< bool(int bytesSent, int totalBytes)> | progressCallback | ) | const

A callback function to keep track of the operation's progress.

This can be useful for lengthy POST operations, so that you can provide user feedback.

## ◆ withExtraHeaders()

JUCE_NODISCARD InputStreamOptions URL::InputStreamOptions::withExtraHeaders | ( | const String & | extraHeaders | ) | const

A string that will be appended onto the headers that are used for the request.

It must be a valid set of HTML header directives, separated by newlines.

## ◆ withConnectionTimeoutMs()

JUCE_NODISCARD InputStreamOptions URL::InputStreamOptions::withConnectionTimeoutMs | ( | int | connectionTimeoutMs | ) | const

Specifies a timeout for the request in milliseconds.

If 0, this will use whatever default setting the OS chooses. If a negative number, it will be infinite.

## ◆ withResponseHeaders()

JUCE_NODISCARD InputStreamOptions URL::InputStreamOptions::withResponseHeaders | ( | StringPairArray * | responseHeaders | ) | const

If this is non-null, all the (key, value) pairs received as headers in the response will be stored in this array.

## ◆ withStatusCode()

JUCE_NODISCARD InputStreamOptions URL::InputStreamOptions::withStatusCode | ( | int * | statusCode | ) | const

If this is non-null, it will get set to the http status code, if one is known, or 0 if a code isn't available.

## ◆ withNumRedirectsToFollow()

JUCE_NODISCARD InputStreamOptions URL::InputStreamOptions::withNumRedirectsToFollow | ( | int | numRedirectsToFollow | ) | const

Specifies the number of redirects that will be followed before returning a response.

N.B. This will be ignored on Android which follows up to 5 redirects.

## ◆ withHttpRequestCmd()

JUCE_NODISCARD InputStreamOptions URL::InputStreamOptions::withHttpRequestCmd | ( | const String & | httpRequestCmd | ) | const

Specifies which HTTP request command to use.

If this is not set, then the command will be POST if parameterHandling is set to ParameterHandling::inPostData or if any POST data has been specified via withPOSTData(), withFileToUpload(), or withDataToUpload(). Otherwise it will be GET.

## ◆ getParameterHandling()

ParameterHandling URL::InputStreamOptions::getParameterHandling | ( |  | ) | const
| noexcept

## ◆ getProgressCallback()

std::function< bool(int, int)> URL::InputStreamOptions::getProgressCallback | ( |  | ) | const
| noexcept

## ◆ getExtraHeaders()

String URL::InputStreamOptions::getExtraHeaders | ( |  | ) | const
| noexcept

## ◆ getConnectionTimeoutMs()

int URL::InputStreamOptions::getConnectionTimeoutMs | ( |  | ) | const
| noexcept

## ◆ getResponseHeaders()

StringPairArray * URL::InputStreamOptions::getResponseHeaders | ( |  | ) | const
| noexcept

## ◆ getStatusCode()

int * URL::InputStreamOptions::getStatusCode | ( |  | ) | const
| noexcept

## ◆ getNumRedirectsToFollow()

int URL::InputStreamOptions::getNumRedirectsToFollow | ( |  | ) | const
| noexcept

## ◆ getHttpRequestCmd()

String URL::InputStreamOptions::getHttpRequestCmd | ( |  | ) | const
| noexcept

The documentation for this class was generated from the following file:

- juce_URL.h