LMMS
Loading...
Searching...
No Matches
juce::URL::InputStreamOptions Class Reference

#include <juce_URL.h>

Public Member Functions

 InputStreamOptions (ParameterHandling parameterHandling)
JUCE_NODISCARD InputStreamOptions withProgressCallback (std::function< bool(int bytesSent, int totalBytes)> progressCallback) const
JUCE_NODISCARD InputStreamOptions withExtraHeaders (const String &extraHeaders) const
JUCE_NODISCARD InputStreamOptions withConnectionTimeoutMs (int connectionTimeoutMs) const
JUCE_NODISCARD InputStreamOptions withResponseHeaders (StringPairArray *responseHeaders) const
JUCE_NODISCARD InputStreamOptions withStatusCode (int *statusCode) const
JUCE_NODISCARD InputStreamOptions withNumRedirectsToFollow (int numRedirectsToFollow) const
JUCE_NODISCARD InputStreamOptions withHttpRequestCmd (const String &httpRequestCmd) const
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

Private Attributes

const ParameterHandling parameterHandling
std::function< bool(int, int)> progressCallback = nullptr
String extraHeaders
int connectionTimeOutMs = 0
StringPairArray * responseHeaders = nullptr
int * statusCode = nullptr
int numRedirectsToFollow = 5
String httpRequestCmd

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")
{
...
}
Definition juce_URL.h:322
JUCE_NODISCARD InputStreamOptions withNumRedirectsToFollow(int numRedirectsToFollow) const
Definition juce_URL.cpp:594
JUCE_NODISCARD InputStreamOptions withConnectionTimeoutMs(int connectionTimeoutMs) const
Definition juce_URL.cpp:579
@ inAddress
Definition juce_URL.h:303
std::unique_ptr< InputStream > createInputStream(const InputStreamOptions &options) const
Definition juce_URL.cpp:605
URL()
Definition juce_URL.cpp:27

Constructor & Destructor Documentation

◆ InputStreamOptions()

juce::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

◆ getConnectionTimeoutMs()

int juce::URL::InputStreamOptions::getConnectionTimeoutMs ( ) const
inlinenoexcept

◆ getExtraHeaders()

String juce::URL::InputStreamOptions::getExtraHeaders ( ) const
inlinenoexcept

◆ getHttpRequestCmd()

String juce::URL::InputStreamOptions::getHttpRequestCmd ( ) const
inlinenoexcept

◆ getNumRedirectsToFollow()

int juce::URL::InputStreamOptions::getNumRedirectsToFollow ( ) const
inlinenoexcept

◆ getParameterHandling()

ParameterHandling juce::URL::InputStreamOptions::getParameterHandling ( ) const
inlinenoexcept

◆ getProgressCallback()

std::function< bool(int, int)> juce::URL::InputStreamOptions::getProgressCallback ( ) const
inlinenoexcept

◆ getResponseHeaders()

StringPairArray * juce::URL::InputStreamOptions::getResponseHeaders ( ) const
inlinenoexcept

◆ getStatusCode()

int * juce::URL::InputStreamOptions::getStatusCode ( ) const
inlinenoexcept

◆ withConnectionTimeoutMs()

URL::InputStreamOptions juce::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.

◆ withExtraHeaders()

URL::InputStreamOptions juce::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.

◆ withHttpRequestCmd()

URL::InputStreamOptions juce::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.

◆ withNumRedirectsToFollow()

URL::InputStreamOptions juce::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.

◆ withProgressCallback()

URL::InputStreamOptions juce::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.

◆ withResponseHeaders()

URL::InputStreamOptions juce::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()

URL::InputStreamOptions juce::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.

Member Data Documentation

◆ connectionTimeOutMs

int juce::URL::InputStreamOptions::connectionTimeOutMs = 0
private

◆ extraHeaders

String juce::URL::InputStreamOptions::extraHeaders
private

◆ httpRequestCmd

String juce::URL::InputStreamOptions::httpRequestCmd
private

◆ numRedirectsToFollow

int juce::URL::InputStreamOptions::numRedirectsToFollow = 5
private

◆ parameterHandling

const ParameterHandling juce::URL::InputStreamOptions::parameterHandling
private

◆ progressCallback

std::function<bool (int, int)> juce::URL::InputStreamOptions::progressCallback = nullptr
private

◆ responseHeaders

StringPairArray* juce::URL::InputStreamOptions::responseHeaders = nullptr
private

◆ statusCode

int* juce::URL::InputStreamOptions::statusCode = nullptr
private

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