diff options
Diffstat (limited to 'dom/fetch/FetchUtil.h')
-rw-r--r-- | dom/fetch/FetchUtil.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dom/fetch/FetchUtil.h b/dom/fetch/FetchUtil.h new file mode 100644 index 000000000..d99aa39b4 --- /dev/null +++ b/dom/fetch/FetchUtil.h @@ -0,0 +1,42 @@ +#ifndef mozilla_dom_FetchUtil_h +#define mozilla_dom_FetchUtil_h + +#include "nsString.h" +#include "nsError.h" + +#include "mozilla/ErrorResult.h" +#include "mozilla/dom/File.h" +#include "mozilla/dom/FormData.h" + +namespace mozilla { +namespace dom { + +class FetchUtil final +{ +private: + FetchUtil() = delete; + +public: + /** + * Sets outMethod to a valid HTTP request method string based on an input method. + * Implements checks and normalization as specified by the Fetch specification. + * Returns NS_ERROR_DOM_SECURITY_ERR if the method is invalid. + * Otherwise returns NS_OK and the normalized method via outMethod. + */ + static nsresult + GetValidRequestMethod(const nsACString& aMethod, nsCString& outMethod); + + /** + * Extracts an HTTP header from a substring range. + */ + static bool + ExtractHeader(nsACString::const_iterator& aStart, + nsACString::const_iterator& aEnd, + nsCString& aHeaderName, + nsCString& aHeaderValue, + bool* aWasEmptyHeader); +}; + +} // namespace dom +} // namespace mozilla +#endif |