jfclere     2004/07/30 10:06:20

  Modified:    ajp/ajplib/test ajp_header.c
  Log:
  Add logic to process what is after the headers ;-)
  
  Revision  Changes    Path
  1.19      +51 -0     jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c
  
  Index: ajp_header.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ajp_header.c      30 Jul 2004 10:21:06 -0000      1.18
  +++ ajp_header.c      30 Jul 2004 17:06:19 -0000      1.19
  @@ -827,3 +827,54 @@
       *ptr = (char *)&(msg->buf[msg->pos]);
       return APR_SUCCESS;
   }
  +
  +/*
  + * Allocate a msg to send data
  + */
  +apr_status_t  ajp_alloc_data_msg(request_rec *r, char **ptr, apr_size_t *len,
  +                             void **data)
  +{
  +    apr_status_t rc;
  +    ajp_msg_t **msg;
  +
  +    msg = data;
  +    rc = ajp_msg_create(r->pool, msg);
  +    if (rc != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
  +               "ajp_alloc_data_msg: ajp_msg_create failed");
  +        return rc;
  +    }
  +    ajp_msg_reset(*msg);
  +    *ptr = (char *)&((*msg)->buf[6]);
  +    *len = AJP_MSG_BUFFER_SZ-6;
  +
  +    return APR_SUCCESS;
  +}
  +
  +/*
  + * Send the data message
  + */
  +apr_status_t  ajp_send_data_msg(apr_socket_t *sock, request_rec  *r,
  +                             void *data, apr_size_t len)
  +{
  +    apr_status_t rc;
  +    ajp_msg_t *msg;
  +
  +    msg = data;
  +    msg->buf[4] = (apr_byte_t)((len >> 8) & 0xFF);
  +    msg->buf[5] = (apr_byte_t)(len & 0xFF);
  +
  +    msg->len += len + 2; /* + 1 XXXX where is '\0' */
  +
  +    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
  +               "ajp_send_data_msg: sending %d", len);
  +
  +    rc = ajp_ilink_send(sock, msg);
  +    if (rc != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
  +               "ajp_send_data_msg: ajp_ilink_send failed");
  +        return rc;
  +    }
  +
  +    return APR_SUCCESS;
  +}
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to