1// Copyright (c) 2011 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// Invalid URLs go through this URLRequestJob class rather than being
6// passed to the default job handler.
7
8#ifndef NET_URL_REQUEST_URL_REQUEST_ERROR_JOB_H_
9#define NET_URL_REQUEST_URL_REQUEST_ERROR_JOB_H_
10
11#include "base/memory/weak_ptr.h"
12#include "net/base/net_export.h"
13#include "net/url_request/url_request_job.h"
14
15namespace net {
16
17class NET_EXPORT URLRequestErrorJob : public URLRequestJob {
18 public:
19  URLRequestErrorJob(URLRequest* request,
20                     NetworkDelegate* network_delegate,
21                     int error);
22
23  virtual void Start() OVERRIDE;
24
25 private:
26  virtual ~URLRequestErrorJob();
27
28  void StartAsync();
29
30  int error_;
31
32  base::WeakPtrFactory<URLRequestErrorJob> weak_factory_;
33};
34
35}  // namespace net
36
37#endif  // NET_URL_REQUEST_URL_REQUEST_ERROR_JOB_H_
38