51 URL (
const URL&) =
default;
52 URL& operator= (
const URL&) =
default;
54 URL& operator= (
URL&&) =
default;
66 bool operator== (
const URL&)
const;
67 bool operator!= (
const URL&)
const;
76 String toString (
bool includeGetParameters)
const;
79 bool isEmpty()
const noexcept;
82 bool isWellFormed()
const;
96 String getSubPath (
bool includeGetParameters =
false)
const;
101 String getQueryString()
const;
110 bool isLocalFile()
const;
121 File getLocalFile()
const;
130 String getFileName()
const;
142 URL withNewDomainAndPath (
const String& newFullPath)
const;
149 URL withNewSubPath (
const String& newPath)
const;
154 URL getParentURL()
const;
166 URL getChildURL (
const String& subPath)
const;
178 URL withParameter (
const String& parameterName,
179 const String& parameterValue)
const;
198 URL withFileToUpload (
const String& parameterName,
199 const File& fileToUpload,
200 const String& mimeType)
const;
211 URL withDataToUpload (
const String& parameterName,
214 const String& mimeType)
const;
254 URL withPOSTData (
const String& postData)
const;
280 bool launchInDefaultBrowser()
const;
286 static bool isProbablyAWebsiteURL (
const String& possibleURL);
291 static bool isProbablyAnEmailAddress (
const String& possibleEmailAddress);
343 InputStream* createInputStream (
bool doPostLikeRequest,
345 void* progressCallbackContext =
nullptr,
347 int connectionTimeOutMs = 0,
349 int* statusCode =
nullptr,
350 int numRedirectsToFollow = 5,
351 String httpRequestCmd = {})
const;
379 virtual void progress (
URL::DownloadTask* task, int64 bytesDownloaded, int64 totalLength);
409 int64 contentLength = -1, downloaded = 0;
410 bool finished =
false, error =
false;
423 static void juce_iosURLSessionNotify (
const String&);
427 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
DownloadTask)
442 bool usePostCommand =
false);
458 bool readEntireBinaryStream (
MemoryBlock& destData,
459 bool usePostCommand =
false)
const;
475 String readEntireTextStream (
bool usePostCommand =
false)
const;
493 std::unique_ptr<XmlElement> readEntireXmlStream (
bool usePostCommand =
false)
const;
514 static String addEscapeChars (
const String& stringToAddEscapeCharsTo,
516 bool roundBracketsAreLegal =
true);
527 static String removeEscapeChars (
const String& stringToRemoveEscapeCharsFrom);
533 static URL createWithoutParsing (
const String& url);
543 static File fileFromFileSchemeURL (
const URL&);
544 String getDomainInternal (
bool)
const;
549 String parameterName, filename, mimeType;
551 std::unique_ptr<MemoryBlock> data;
553 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Upload)
569 Bookmark::Ptr bookmark;
571 friend void setURLBookmark (
URL&,
void*);
572 friend void* getURLBookmark (
URL&);
579 URL withUpload (Upload*)
const;
581 JUCE_LEAK_DETECTOR (
URL)
const StringArray & getParameterValues() const noexcept
const StringArray & getParameterNames() const noexcept
String getPostData() const
int64 getTotalLength() const
int64 getLengthDownloaded() const
File getTargetLocation() const
const MemoryBlock & getPostDataAsMemoryBlock() const noexcept
bool(void *context, int bytesSent, int totalBytes) OpenStreamProgressCallback