WebResponse.h revision bdcebcb37eb20e212451130aee402c1927ad0e14
19de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen/*
29de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * Copyright 2010, The Android Open Source Project
39de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen *
49de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * Redistribution and use in source and binary forms, with or without
59de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * modification, are permitted provided that the following conditions
69de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * are met:
79de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen *  * Redistributions of source code must retain the above copyright
89de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen *    notice, this list of conditions and the following disclaimer.
99de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen *  * Redistributions in binary form must reproduce the above copyright
109de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen *    notice, this list of conditions and the following disclaimer in the
119de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen *    documentation and/or other materials provided with the distribution.
129de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen *
139de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
149de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
159de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
169de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
179de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
189de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
199de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
209de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
219de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
229de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
239de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
249de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen */
259de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
269de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen#ifndef WebResponse_h
279de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen#define WebResponse_h
289de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
29bdcebcb37eb20e212451130aee402c1927ad0e14Kristian Monsen#include "ChromiumIncludes.h"
309de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen#include "KURL.h"
319de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
329de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen#include <map>
339de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen#include <string>
349de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
359de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsennamespace WebCore {
369de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsenclass ResourceResponse;
3721baf41667f5ac764512f0168a702390daf45bf3Kristian Monsenclass ResourceError;
389de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen}
399de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
409de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsennamespace android {
419de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
429de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsenclass WebResponse {
439de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
449de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsenpublic:
459de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    WebResponse() {}
469de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    WebResponse(URLRequest*);
479de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    WebResponse(const std::string &url, const std::string &mimeType, const long long length, const std::string &encoding, const int httpStatusCode);
489de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    WebCore::KURL url();
499de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    void setUrl(std::string);
509de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
519de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    // Only use on the WebCore thread!
529de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    WebCore::ResourceResponse createResourceResponse();
5321baf41667f5ac764512f0168a702390daf45bf3Kristian Monsen    // Only use on the WebCore thread!
5421baf41667f5ac764512f0168a702390daf45bf3Kristian Monsen    WebCore::ResourceError createResourceError();
559de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
569de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsenprivate:
579de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    std::string m_encoding;
589de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    int m_httpStatusCode;
5921baf41667f5ac764512f0168a702390daf45bf3Kristian Monsen    std::string m_host;
609de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    std::string m_httpStatusText;
619de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    long long m_length;
629de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    std::string m_mime;
639de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    std::string m_url;
649de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
659de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen    std::map<std::string, std::string> m_headerFields;
669de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen};
679de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
689de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen} // namespace android
699de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen
709de447de54fcb62a01a3338bb4d2f4d1716f522dKristian Monsen#endif
71