blob: c595e5cc4d1df08637ae43bb62fca7ef9c87cdaf (
plain)
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
//
// HtFile.h
//
// HtFile: Class for local files (derived from Transport)
//
// Alexis Mikhailov, from HtHTTP.h by Gabriele Bartolini - Prato - Italia
// started: 03.05.1999
//
// ////////////////////////////////////////////////////////////
//
// The HtFile class should provide an interface for retrieving local
// documents. It derives from Transport class.
//
///////
//
// Part of the ht://Dig package <http://www.htdig.org/>
// Copyright (c) 1995-2004 The ht://Dig Group
// For copyright details, see the file COPYING in your distribution
// or the GNU Library General Public License (LGPL) version 2 or later
// <http://www.gnu.org/copyleft/lgpl.html>
//
// $Id: HtFile.h,v 1.6 2004/05/28 13:15:23 lha Exp $
//
#ifndef _HTFILE_H
#define _HTFILE_H
#include "Transport.h"
#include "URL.h"
#include "htString.h"
// In advance declarations
class HtFile;
class HtFile_Response : public Transport_Response
{
friend class HtFile; // declaring friendship
public:
///////
// Construction / Destruction
///////
HtFile_Response();
~HtFile_Response();
};
class HtFile : public Transport
{
public:
///////
// Construction/Destruction
///////
HtFile();
~HtFile();
// Information about the method to be used in the request
// manages a Transport request (method inherited from Transport class)
virtual DocStatus Request ();
// Determine Mime type of file from its extension
static const String *Ext2Mime (const char *);
// Determine Mime type of file from its contents
static String File2Mime (const char *);
///////
// Interface for resource retrieving
///////
///////
// Interface for resource retrieving
///////
// Set and get the document to be retrieved
void SetRequestURL(URL &u) { _url = u;}
URL GetRequestURL () { return _url;}
// Set and get the referring URL
void SetRefererURL (URL u) { _referer = u;}
URL GetRefererURL () { return _referer;}
///////
// Interface for the HTTP Response
///////
// We have a valid response only if the status code is not equal to
// initialization value
Transport_Response *GetResponse()
{
if (_response._status_code != -1)
return &_response;
else return NULL;}
// Get the document status
virtual DocStatus GetDocumentStatus();
protected:
///////
// Member attributes
///////
///////
// Http single Request information (Member attributes)
///////
URL _url; // URL to retrieve
URL _referer; // Referring URL
///////
// Http Response information
///////
HtFile_Response _response; // Object where response
// information will be stored into
};
#endif
|