4822l3

Listing 3. Writing the HTTP Request

26      request_len=strlen(REQUEST_TEMPLATE)+
27        strlen(host)+6;
28      if(!(request=(char *)malloc(request_len)))
29        err_exit("Couldn't allocate request");
30      sprintf(request,REQUEST_TEMPLATE,
31        host,port);
32
33      /* Find the exact request_len */
34      request_len=strlen(request);
35
36      r=SSL_write(ssl,request,request_len);
37      switch(SSL_get_error(ssl,r)){
38        case SSL_ERROR_NONE:
39          if(request_len!=r)
40            err_exit("Incomplete write!");
41          break;
42          default:
43            berr_exit("SSL write problem");
44      }
