An example HTTP Server library using new Ethernet Interface

Dependents:   HTMLServer_Sample

Committer:
mkilivan
Date:
Tue Dec 23 18:49:25 2014 +0000
Revision:
0:8e1971a883be
forked from http://developer.mbed.org/users/yueee_yt/code/giken9_HTMLServer_Sample/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mkilivan 0:8e1971a883be 1 /*
mkilivan 0:8e1971a883be 2 Copyright (c) 2010 Donatien Garnier (donatiengar [at] gmail [dot] com)
mkilivan 0:8e1971a883be 3
mkilivan 0:8e1971a883be 4 Permission is hereby granted, free of charge, to any person obtaining a copy
mkilivan 0:8e1971a883be 5 of this software and associated documentation files (the "Software"), to deal
mkilivan 0:8e1971a883be 6 in the Software without restriction, including without limitation the rights
mkilivan 0:8e1971a883be 7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
mkilivan 0:8e1971a883be 8 copies of the Software, and to permit persons to whom the Software is
mkilivan 0:8e1971a883be 9 furnished to do so, subject to the following conditions:
mkilivan 0:8e1971a883be 10
mkilivan 0:8e1971a883be 11 The above copyright notice and this permission notice shall be included in
mkilivan 0:8e1971a883be 12 all copies or substantial portions of the Software.
mkilivan 0:8e1971a883be 13
mkilivan 0:8e1971a883be 14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
mkilivan 0:8e1971a883be 15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
mkilivan 0:8e1971a883be 16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
mkilivan 0:8e1971a883be 17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
mkilivan 0:8e1971a883be 18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
mkilivan 0:8e1971a883be 19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
mkilivan 0:8e1971a883be 20 THE SOFTWARE.
mkilivan 0:8e1971a883be 21 */
mkilivan 0:8e1971a883be 22 //#define _DEBUG_SIMPLE_HANDLER
mkilivan 0:8e1971a883be 23
mkilivan 0:8e1971a883be 24 #include "SimpleHandler.h"
mkilivan 0:8e1971a883be 25
mkilivan 0:8e1971a883be 26 SimpleHandler::SimpleHandler(const char* rootPath, const char* path, TCPSocketConnection* pTCPSocketConnection) : HTTPRequestHandler(rootPath, path, pTCPSocketConnection)
mkilivan 0:8e1971a883be 27 {
mkilivan 0:8e1971a883be 28 #ifdef _DEBUG_SIMPLE_HANDLER
mkilivan 0:8e1971a883be 29 printf("++++(SimpleHeandler)Initialize\r\n");
mkilivan 0:8e1971a883be 30 #endif
mkilivan 0:8e1971a883be 31 }
mkilivan 0:8e1971a883be 32
mkilivan 0:8e1971a883be 33 SimpleHandler::~SimpleHandler()
mkilivan 0:8e1971a883be 34 {
mkilivan 0:8e1971a883be 35 #ifdef _DEBUG_SIMPLE_HANDLER
mkilivan 0:8e1971a883be 36 printf("++++(SimpleHeandler)Handler destroyed\r\n");
mkilivan 0:8e1971a883be 37 #endif
mkilivan 0:8e1971a883be 38 }
mkilivan 0:8e1971a883be 39
mkilivan 0:8e1971a883be 40 void SimpleHandler::doGet()
mkilivan 0:8e1971a883be 41 {
mkilivan 0:8e1971a883be 42 #ifdef _DEBUG_SIMPLE_HANDLER
mkilivan 0:8e1971a883be 43 printf("++++(SimpleHeandler) doGet()\r\n");
mkilivan 0:8e1971a883be 44 #endif
mkilivan 0:8e1971a883be 45 const char* resp = "Hello world !";
mkilivan 0:8e1971a883be 46 setContentLen( strlen(resp) );
mkilivan 0:8e1971a883be 47 //respHeaders()["Connection"] = "close";
mkilivan 0:8e1971a883be 48 addRespHeaders("Connection", "close");
mkilivan 0:8e1971a883be 49 writeData(resp, strlen(resp));
mkilivan 0:8e1971a883be 50 #ifdef _DEBUG_SIMPLE_HANDLER
mkilivan 0:8e1971a883be 51 printf("++++(SimpleHeandler) doGet Exit\r\n");
mkilivan 0:8e1971a883be 52 #endif
mkilivan 0:8e1971a883be 53 }
mkilivan 0:8e1971a883be 54
mkilivan 0:8e1971a883be 55 void SimpleHandler::doPost()
mkilivan 0:8e1971a883be 56 {
mkilivan 0:8e1971a883be 57
mkilivan 0:8e1971a883be 58 }
mkilivan 0:8e1971a883be 59
mkilivan 0:8e1971a883be 60 void SimpleHandler::doHead()
mkilivan 0:8e1971a883be 61 {
mkilivan 0:8e1971a883be 62
mkilivan 0:8e1971a883be 63 }
mkilivan 0:8e1971a883be 64
mkilivan 0:8e1971a883be 65
mkilivan 0:8e1971a883be 66 void SimpleHandler::onReadable() //Data has been read
mkilivan 0:8e1971a883be 67 {
mkilivan 0:8e1971a883be 68
mkilivan 0:8e1971a883be 69 }
mkilivan 0:8e1971a883be 70
mkilivan 0:8e1971a883be 71 void SimpleHandler::onWriteable() //Data has been written & buf is free
mkilivan 0:8e1971a883be 72 {
mkilivan 0:8e1971a883be 73 #ifdef _DEBUG_SIMPLE_HANDLER
mkilivan 0:8e1971a883be 74 printf("++++(SimpleHeandler)onWriteable() event\r\n");
mkilivan 0:8e1971a883be 75 #endif
mkilivan 0:8e1971a883be 76 // close(); //Data written, we can close the connection
mkilivan 0:8e1971a883be 77 }
mkilivan 0:8e1971a883be 78
mkilivan 0:8e1971a883be 79 void SimpleHandler::onClose() //Connection is closing
mkilivan 0:8e1971a883be 80 {
mkilivan 0:8e1971a883be 81 //Nothing to do
mkilivan 0:8e1971a883be 82 }
mkilivan 0:8e1971a883be 83