//
// 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
// 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
//
//
// $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