ACKme / Mbed 2 deprecated wiconnect-test-console

Dependencies:   WiConnect mbed

Committer:
dan_ackme
Date:
Mon Aug 11 11:31:32 2014 +0000
Revision:
0:836c9a6383e0
Child:
1:5137ec8f4c45
Initial check-in

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dan_ackme 0:836c9a6383e0 1 /*
dan_ackme 0:836c9a6383e0 2 * Copyright 2014, ACKme Networks
dan_ackme 0:836c9a6383e0 3 * All Rights Reserved.
dan_ackme 0:836c9a6383e0 4 *
dan_ackme 0:836c9a6383e0 5 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks;
dan_ackme 0:836c9a6383e0 6 * the contents of this file may not be disclosed to third parties, copied
dan_ackme 0:836c9a6383e0 7 * or duplicated in any form, in whole or in part, without the prior
dan_ackme 0:836c9a6383e0 8 * written permission of ACKme Networks.
dan_ackme 0:836c9a6383e0 9 */
dan_ackme 0:836c9a6383e0 10
dan_ackme 0:836c9a6383e0 11
dan_ackme 0:836c9a6383e0 12 #include "tests/Tests.h"
dan_ackme 0:836c9a6383e0 13 #include "Wiconnect.h"
dan_ackme 0:836c9a6383e0 14
dan_ackme 0:836c9a6383e0 15
dan_ackme 0:836c9a6383e0 16 #define TEST_SERVER_URL "http://www.posttestserver.com"
dan_ackme 0:836c9a6383e0 17 #define CONTEXT_TYPE "text/plain"
dan_ackme 0:836c9a6383e0 18
dan_ackme 0:836c9a6383e0 19
dan_ackme 0:836c9a6383e0 20 static WiconnectResult addPostData(Socket &socket);
dan_ackme 0:836c9a6383e0 21 static WiconnectResult readResponse(Socket &socket);
dan_ackme 0:836c9a6383e0 22
dan_ackme 0:836c9a6383e0 23
dan_ackme 0:836c9a6383e0 24 /*************************************************************************************************/
dan_ackme 0:836c9a6383e0 25 WiconnectResult socketHttpPostCommand(int argc, char **argv)
dan_ackme 0:836c9a6383e0 26 {
dan_ackme 0:836c9a6383e0 27 WiconnectResult result;
dan_ackme 0:836c9a6383e0 28 Wiconnect *wiconnect = Wiconnect::getInstance();
dan_ackme 0:836c9a6383e0 29 Socket socket(0, NULL, sizeof(testBuffer), testBuffer);
dan_ackme 0:836c9a6383e0 30 uint32_t status;
dan_ackme 0:836c9a6383e0 31
dan_ackme 0:836c9a6383e0 32 if(WICONNECT_FAILED(result, wiconnect->httpPost(socket, TEST_SERVER_URL, CONTEXT_TYPE)))
dan_ackme 0:836c9a6383e0 33 {
dan_ackme 0:836c9a6383e0 34 LOG_ERROR("Failed to open POST connection");
dan_ackme 0:836c9a6383e0 35 }
dan_ackme 0:836c9a6383e0 36 else if(WICONNECT_FAILED(result, addPostData(socket)))
dan_ackme 0:836c9a6383e0 37 {
dan_ackme 0:836c9a6383e0 38 LOG_ERROR("Failed to add POST data");
dan_ackme 0:836c9a6383e0 39 }
dan_ackme 0:836c9a6383e0 40 else if(WICONNECT_FAILED(result, wiconnect->httpGetStatus(socket, &status)))
dan_ackme 0:836c9a6383e0 41 {
dan_ackme 0:836c9a6383e0 42 LOG_ERROR("Failed to read HTTP status");
dan_ackme 0:836c9a6383e0 43 }
dan_ackme 0:836c9a6383e0 44 else if(WICONNECT_FAILED(result, readResponse(socket)))
dan_ackme 0:836c9a6383e0 45 {
dan_ackme 0:836c9a6383e0 46 LOG_ERROR("Failed to read POST response");
dan_ackme 0:836c9a6383e0 47 }
dan_ackme 0:836c9a6383e0 48
dan_ackme 0:836c9a6383e0 49 return result;
dan_ackme 0:836c9a6383e0 50 }
dan_ackme 0:836c9a6383e0 51
dan_ackme 0:836c9a6383e0 52 /*************************************************************************************************/
dan_ackme 0:836c9a6383e0 53 static WiconnectResult addPostData(Socket &socket)
dan_ackme 0:836c9a6383e0 54 {
dan_ackme 0:836c9a6383e0 55 WiconnectResult result;
dan_ackme 0:836c9a6383e0 56
dan_ackme 0:836c9a6383e0 57 LOG_INFO("Enter post data ('\\n' issues request):");
dan_ackme 0:836c9a6383e0 58
dan_ackme 0:836c9a6383e0 59 int c;
dan_ackme 0:836c9a6383e0 60
dan_ackme 0:836c9a6383e0 61 for(;;)
dan_ackme 0:836c9a6383e0 62 {
dan_ackme 0:836c9a6383e0 63 c = consoleSerial.getc();
dan_ackme 0:836c9a6383e0 64 consoleSerial.putc(c);
dan_ackme 0:836c9a6383e0 65 if(c == '\r')
dan_ackme 0:836c9a6383e0 66 continue;
dan_ackme 0:836c9a6383e0 67 if(c == '\n')
dan_ackme 0:836c9a6383e0 68 break;
dan_ackme 0:836c9a6383e0 69
dan_ackme 0:836c9a6383e0 70 if(WICONNECT_FAILED(result, socket.putc(c)))
dan_ackme 0:836c9a6383e0 71 {
dan_ackme 0:836c9a6383e0 72 return result;
dan_ackme 0:836c9a6383e0 73 }
dan_ackme 0:836c9a6383e0 74 }
dan_ackme 0:836c9a6383e0 75
dan_ackme 0:836c9a6383e0 76 return socket.flushTxBuffer();
dan_ackme 0:836c9a6383e0 77 }
dan_ackme 0:836c9a6383e0 78
dan_ackme 0:836c9a6383e0 79 /*************************************************************************************************/
dan_ackme 0:836c9a6383e0 80 static WiconnectResult readResponse(Socket &socket)
dan_ackme 0:836c9a6383e0 81 {
dan_ackme 0:836c9a6383e0 82 uint8_t *buffer;
dan_ackme 0:836c9a6383e0 83 uint16_t size;
dan_ackme 0:836c9a6383e0 84
dan_ackme 0:836c9a6383e0 85 LOG_INFO("Response data:");
dan_ackme 0:836c9a6383e0 86
dan_ackme 0:836c9a6383e0 87 while(socket.read(&buffer, &size) == WICONNECT_SUCCESS)
dan_ackme 0:836c9a6383e0 88 {
dan_ackme 0:836c9a6383e0 89 logWrite(buffer, size);
dan_ackme 0:836c9a6383e0 90 }
dan_ackme 0:836c9a6383e0 91
dan_ackme 0:836c9a6383e0 92 return WICONNECT_SUCCESS;
dan_ackme 0:836c9a6383e0 93 }
dan_ackme 0:836c9a6383e0 94