- break;\r
- case WEBSERVER_STATE_SendResponseHeader:\r
- /* Determine what HTTP header should be sent to the client */\r
- if (AppState->FileOpen)\r
- {\r
- AppDataSize = strlen_P(HTTP200Header);\r
- strncpy_P(AppData, HTTP200Header, AppDataSize);\r
- }\r
- else\r
- {\r
- AppDataSize = strlen_P(HTTP404Header);\r
- strncpy_P(AppData, HTTP404Header, AppDataSize);\r
- }\r
- \r
- uip_send(AppData, AppDataSize);\r
- \r
- AppState->PrevState = WEBSERVER_STATE_SendResponseHeader;\r
- AppState->CurrentState = WEBSERVER_STATE_SendMIMETypeHeader;\r
- break;\r
- case WEBSERVER_STATE_SendMIMETypeHeader:\r
- /* File must have been found and opened for MIME header to be sent */\r
- if (AppState->FileOpen)\r
- {\r
- char* Extension = strpbrk(AppState->FileName, ".");\r
- \r
- /* Check to see if a file extension was found for the requested filename */\r
- if (Extension != NULL)\r
- {\r
- /* Look through the MIME type list, copy over the required MIME type if found */\r
- for (int i = 0; i < (sizeof(MIMETypes) / sizeof(MIMETypes[0])); i++)\r
- {\r
- if (strcmp_P(&Extension[1], MIMETypes[i].Extension) == 0)\r
- {\r
- AppDataSize = strlen_P(MIMETypes[i].MIMEType);\r
- strncpy_P(AppData, MIMETypes[i].MIMEType, AppDataSize); \r
- break;\r
- }\r
- } \r
- }\r