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
StringPairArraygetResponseHeaders () const noexcept
intgetStatusCode () 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
StringPairArrayresponseHeaders = nullptr
intstatusCode = 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: