Home | History | Annotate | Download | only in url_request
      1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef NET_URL_REQUEST_URL_REQUEST_SIMPLE_JOB_H_
      6 #define NET_URL_REQUEST_URL_REQUEST_SIMPLE_JOB_H_
      7 
      8 #include <string>
      9 
     10 #include "net/url_request/url_request_job.h"
     11 
     12 class URLRequest;
     13 
     14 class URLRequestSimpleJob : public URLRequestJob {
     15  public:
     16   explicit URLRequestSimpleJob(URLRequest* request);
     17 
     18   virtual void Start();
     19   virtual bool ReadRawData(net::IOBuffer* buf, int buf_size, int *bytes_read);
     20   virtual bool GetMimeType(std::string* mime_type) const;
     21   virtual bool GetCharset(std::string* charset);
     22 
     23  protected:
     24   ~URLRequestSimpleJob() {}
     25 
     26   // subclasses must override the way response data is determined.
     27   virtual bool GetData(std::string* mime_type,
     28                        std::string* charset,
     29                        std::string* data) const = 0;
     30 
     31  private:
     32   void StartAsync();
     33 
     34   std::string mime_type_;
     35   std::string charset_;
     36   std::string data_;
     37   int data_offset_;
     38 };
     39 
     40 #endif  // NET_URL_REQUEST_URL_REQUEST_SIMPLE_JOB_H_
     41