httpfile
httpfile is a class used by the IWebserverPlugin to realize static files. A static file that will be provided by the IWebserverPlugin needs
to converted with the httpfiles tool and added to the project during the building process (have a look to an innovaphone App created from
the template within Visual Studio to see how to implement static files). Each file that will be statically included will be represented by
an httpfile instance and placed inside a btree. So generally there is no need to use the httpfile class "manually".
NOTE: The interface of httpfile is compatible to the innovaphone firmware internals.
File information
Classes
httpfile
class httpfile: public btree {
public:
httpfile(const char * fileName, word /* servlettype unused */, word theFlags, byte * data, size_t dataSize);
~httpfile();
const char * GetFileName() { return fileName; }
const byte * GetData() { return data; }
size_t GetSize() { return dataSize; }
word GetResourceType() { return type; }
word GetFlags() { return flags; }
const char * GetMD5String() { return md5str; }
};
Public functions
httpfile (Constructor)
Parameters
const char * fileName | The name of the static file including the path to the file a path inside the virtual web directory of an app registered to the webserver (e. G. "/main/index.html") |
word <unused> | Unused on the AppPlatform side. This parameter only exists for compatibility reasons with other innovaphone projects. Set always to 0. |
word theFlags | Flags for the file. Currently ond one flag exist (HTTP_GZIP) to declare the file as stored in compressed format. |
byte * data | Pointer to the data of the file. |
size_t dataSize | The size of the data. |
Remarks
If the file is compressed, the webserver will handle the necessary header fields need by the browser.
GetFileName
Return Value
Returns the name of the file including the path (like set with the fileName parameter of the constructor).
GetFileName
Return Value
Returns a pointer to the file date.
GetSize
Return Value
Returns the size of the file. If the file is compressed, the file size is in compressed state.
GetResourceType
Return Value
Returns the resource type of the file. That value will send from the webbrowser as content-type header field. The
constructor of httpfile autodetecst the resource type by the file suffix.
GetFlags
Return Value
Returns the flags set for the file. For now, only HTTP_GZIP is supported to indicate, that the file data is in gzip compressed format.
GetMD5String
Return Value
Returns the MD5 checksum of the file date. This value will be calculated by the constructor and used by the IWebserverPlugin / Webserver
as etag to support file caching of the browser.
Static Variables
staticFilesRoot
All httpfile instances are put to the staticFilesRoot btree for fast accessing them when requested. Don't manipulate that btree, it will completly be managed
by the httpfile instances themselfs and accessed by the IWebserverPlugin.