This file is indexed.

/usr/include/wx-2.8/wx/protocol/http.h is in wx2.8-headers 2.8.12.1-6ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/////////////////////////////////////////////////////////////////////////////
// Name:        http.h
// Purpose:     HTTP protocol
// Author:      Guilhem Lavaux
// Modified by: Simo Virokannas (authentication, Dec 2005)
// Created:     August 1997
// RCS-ID:      $Id: http.h 41020 2006-09-05 20:47:48Z VZ $
// Copyright:   (c) 1997, 1998 Guilhem Lavaux
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTTP_H
#define _WX_HTTP_H

#include "wx/defs.h"

#if wxUSE_PROTOCOL_HTTP

#include "wx/hashmap.h"
#include "wx/protocol/protocol.h"

WX_DECLARE_STRING_HASH_MAP_WITH_DECL( wxString, wxStringToStringHashMap,
                                      class WXDLLIMPEXP_NET );

class WXDLLIMPEXP_NET wxHTTP : public wxProtocol
{
public:
  wxHTTP();
  virtual ~wxHTTP();

  virtual bool Connect(const wxString& host, unsigned short port);
  virtual bool Connect(const wxString& host) { return Connect(host, 0); }
  virtual bool Connect(wxSockAddress& addr, bool wait);
  bool Abort();
  wxInputStream *GetInputStream(const wxString& path);
  inline wxProtocolError GetError() { return m_perr; }
  wxString GetContentType();

  void SetHeader(const wxString& header, const wxString& h_data);
  wxString GetHeader(const wxString& header) const;
  void SetPostBuffer(const wxString& post_buf);

  void SetProxyMode(bool on);

  int GetResponse() { return m_http_response; }

  virtual void SetUser(const wxString& user) { m_username = user; }
  virtual void SetPassword(const wxString& passwd ) { m_password = passwd; }

protected:
  enum wxHTTP_Req
  {
    wxHTTP_GET,
    wxHTTP_POST,
    wxHTTP_HEAD
  };

  typedef wxStringToStringHashMap::iterator wxHeaderIterator;
  typedef wxStringToStringHashMap::const_iterator wxHeaderConstIterator;

  bool BuildRequest(const wxString& path, wxHTTP_Req req);
  void SendHeaders();
  bool ParseHeaders();

  wxString GenerateAuthString(const wxString& user, const wxString& pass) const;

  // find the header in m_headers
  wxHeaderIterator FindHeader(const wxString& header);
  wxHeaderConstIterator FindHeader(const wxString& header) const;

  // deletes the header value strings
  void ClearHeaders();

  wxProtocolError m_perr;
  wxStringToStringHashMap m_headers;
  bool m_read,
       m_proxy_mode;
  wxSockAddress *m_addr;
  wxString m_post_buf;
  int m_http_response;
  wxString m_username;
  wxString m_password;

  DECLARE_DYNAMIC_CLASS(wxHTTP)
  DECLARE_PROTOCOL(wxHTTP)
  DECLARE_NO_COPY_CLASS(wxHTTP)
};

#endif // wxUSE_PROTOCOL_HTTP

#endif // _WX_HTTP_H