A Port of TI's Webserver for the CC3000

Dependencies:   mbed

Committer:
dflet
Date:
Sat Sep 14 17:38:41 2013 +0000
Revision:
0:6ad60d78b315
Mostly working will serve the default pages index.html and config.html, but config.html is not woring at present.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:6ad60d78b315 1 /*****************************************************************************
dflet 0:6ad60d78b315 2 *
dflet 0:6ad60d78b315 3 * HttpStatic.h
dflet 0:6ad60d78b315 4 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
dflet 0:6ad60d78b315 5 *
dflet 0:6ad60d78b315 6 * Redistribution and use in source and binary forms, with or without
dflet 0:6ad60d78b315 7 * modification, are permitted provided that the following conditions
dflet 0:6ad60d78b315 8 * are met:
dflet 0:6ad60d78b315 9 *
dflet 0:6ad60d78b315 10 * Redistributions of source code must retain the above copyright
dflet 0:6ad60d78b315 11 * notice, this list of conditions and the following disclaimer.
dflet 0:6ad60d78b315 12 *
dflet 0:6ad60d78b315 13 * Redistributions in binary form must reproduce the above copyright
dflet 0:6ad60d78b315 14 * notice, this list of conditions and the following disclaimer in the
dflet 0:6ad60d78b315 15 * documentation and/or other materials provided with the
dflet 0:6ad60d78b315 16 * distribution.
dflet 0:6ad60d78b315 17 *
dflet 0:6ad60d78b315 18 * Neither the name of Texas Instruments Incorporated nor the names of
dflet 0:6ad60d78b315 19 * its contributors may be used to endorse or promote products derived
dflet 0:6ad60d78b315 20 * from this software without specific prior written permission.
dflet 0:6ad60d78b315 21 *
dflet 0:6ad60d78b315 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
dflet 0:6ad60d78b315 23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dflet 0:6ad60d78b315 24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
dflet 0:6ad60d78b315 25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
dflet 0:6ad60d78b315 26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dflet 0:6ad60d78b315 27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
dflet 0:6ad60d78b315 28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
dflet 0:6ad60d78b315 29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
dflet 0:6ad60d78b315 30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
dflet 0:6ad60d78b315 31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
dflet 0:6ad60d78b315 32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dflet 0:6ad60d78b315 33 *
dflet 0:6ad60d78b315 34 *****************************************************************************/
dflet 0:6ad60d78b315 35 #ifndef _HTTP_STATIC_H_
dflet 0:6ad60d78b315 36 #define _HTTP_STATIC_H_
dflet 0:6ad60d78b315 37
dflet 0:6ad60d78b315 38 #include "HttpConfig.h"
dflet 0:6ad60d78b315 39
dflet 0:6ad60d78b315 40 #ifdef HTTP_CORE_ENABLE_STATIC
dflet 0:6ad60d78b315 41
dflet 0:6ad60d78b315 42 /**
dflet 0:6ad60d78b315 43 * @defgroup HttpStatic Static request handler module
dflet 0:6ad60d78b315 44 * This module implements static content processing for HTTP requests.
dflet 0:6ad60d78b315 45 * All requests are handled by looking up the URL's resource in the flash database, and returning the content in the response.
dflet 0:6ad60d78b315 46 * Note this module is only compiled if HTTP_CORE_ENABLE_STATIC is defined in HttpConfig.h
dflet 0:6ad60d78b315 47 *
dflet 0:6ad60d78b315 48 * @{
dflet 0:6ad60d78b315 49 */
dflet 0:6ad60d78b315 50
dflet 0:6ad60d78b315 51 #include "HttpRequest.h"
dflet 0:6ad60d78b315 52
dflet 0:6ad60d78b315 53 /**
dflet 0:6ad60d78b315 54 * Initialize HttpStatic module state for a new request, and identify the request
dflet 0:6ad60d78b315 55 * This function examines the specified resource string, and looks it up in the Flash Database.
dflet 0:6ad60d78b315 56 * Note: During FlashDB lookup, ignore the query part (?) and anchor part (#) of URL
dflet 0:6ad60d78b315 57 * If found, it commits to process this request by returning nonzero. Otherwise it returns zero.
dflet 0:6ad60d78b315 58 * @param uConnection The number of the connection. This value is guaranteed to satisfy: 0 <= uConnection < HTTP_CORE_MAX_CONNECTIONS
dflet 0:6ad60d78b315 59 * @param resource The resource part of the URL, as specified by the browser in the request, including any query string (and hash).
dflet 0:6ad60d78b315 60 * Note: The resource string exists ONLY during the call to this function. The string pointer should not be copied by this function.
dflet 0:6ad60d78b315 61 * @return nonzero if request is to be handled by this module. zero if not.
dflet 0:6ad60d78b315 62 */
dflet 0:6ad60d78b315 63 int HttpStatic_InitRequest(uint16 uConnection, struct HttpBlob resource);
dflet 0:6ad60d78b315 64
dflet 0:6ad60d78b315 65 /**
dflet 0:6ad60d78b315 66 * Process a static-content HTTP request
dflet 0:6ad60d78b315 67 * This function is called after a request was already initialized, and a FlashDB content entry was identified during a call to HttpStatic_InitRequest()
dflet 0:6ad60d78b315 68 * This function calls HttpResponse_*() to send the content data to the browser.
dflet 0:6ad60d78b315 69 * @param request Pointer to all data available about the request
dflet 0:6ad60d78b315 70 * @return nonzero if request was handled. zero if not.
dflet 0:6ad60d78b315 71 */
dflet 0:6ad60d78b315 72 void HttpStatic_ProcessRequest(struct HttpRequest* request);
dflet 0:6ad60d78b315 73
dflet 0:6ad60d78b315 74 /// @}
dflet 0:6ad60d78b315 75
dflet 0:6ad60d78b315 76 #endif // HTTP_CORE_ENABLE_STATIC
dflet 0:6ad60d78b315 77
dflet 0:6ad60d78b315 78 #endif // _HTTP_STATIC_H_
dflet 0:6ad60d78b315 79