# http client
[http transport]

## Files
file | axis2_http_client.h
| axis2 HTTP Header name:value pair implementation

## Typedefs
typedef struct axis2_http_client | axis2_http_client_t
## Functions
AXIS2_EXTERN axis2_status_t | axis2_http_client_send (axis2_http_client_t *client, const axutil_env_t *env, axis2_http_simple_request_t *request, axis2_char_t *ssl_pp)
AXIS2_EXTERN int | axis2_http_client_recieve_header (axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_http_simple_response_t * | axis2_http_client_get_response (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_url (axis2_http_client_t *client, const axutil_env_t *env, axutil_url_t *url)
AXIS2_EXTERN axutil_url_t * | axis2_http_client_get_url (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_timeout (axis2_http_client_t *client, const axutil_env_t *env, int timeout_ms)
AXIS2_EXTERN int | axis2_http_client_get_timeout (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_proxy (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *proxy_host, int proxy_port)
AXIS2_EXTERN axis2_char_t * | axis2_http_client_get_proxy (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_connect_ssl_host (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *host, int port)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_dump_input_msg (axis2_http_client_t *client, const axutil_env_t *env, axis2_bool_t dump_input_msg)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_server_cert (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *server_cert)
AXIS2_EXTERN axis2_char_t * | axis2_http_client_get_server_cert (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_key_file (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *key_file)
AXIS2_EXTERN axis2_char_t * | axis2_http_client_get_key_file (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN void | axis2_http_client_free (axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_http_client_t * | axis2_http_client_create (const axutil_env_t *env, axutil_url_t *url)
AXIS2_EXTERN void | axis2_http_client_free_void_arg (void *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_mime_parts (axis2_http_client_t *client, const axutil_env_t *env, axutil_array_list_t *mime_parts)
AXIS2_EXTERN axutil_array_list_t * | axis2_http_client_get_mime_parts (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_doing_mtom (axis2_http_client_t *client, const axutil_env_t *env, axis2_bool_t doing_mtom)
AXIS2_EXTERN axis2_bool_t | axis2_http_client_get_doing_mtom (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axis2_http_client_set_mtom_sending_callback_name (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *callback_name)

## Detailed Description

Description

## Typedef Documentation

typedef struct axis2_http_client axis2_http_client_t

Type name for struct axis2_http_client

## Function Documentation

AXIS2_EXTERN axis2_http_client_t* axis2_http_client_create | ( | const axutil_env_t * | env,
|  | axutil_url_t * | url |
| ) |  |  |

Parameters:

  | env | pointer to environment struct
  | url | pointer to url

AXIS2_EXTERN void axis2_http_client_free | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_http_client_free_void_arg | ( | void * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Free http_client passed as void pointer. This will be cast into appropriate type and then pass the cast object into the http_client structure's free method

Parameters:

  | client |
  | env | pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_client_get_key_file | ( | const axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_client_get_proxy | ( | const axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

AXIS2_EXTERN axis2_http_simple_response_t* axis2_http_client_get_response | ( | const axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_client_get_server_cert | ( | const axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

AXIS2_EXTERN int axis2_http_client_get_timeout | ( | const axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

AXIS2_EXTERN axutil_url_t* axis2_http_client_get_url | ( | const axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

AXIS2_EXTERN int axis2_http_client_recieve_header | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_client_send | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_http_simple_request_t * | request,
|  | axis2_char_t * | ssl_pp |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct
  | request | pointer to request

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_key_file | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | key_file |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct
  | key_file | chain file containing

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_proxy | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | proxy_host,
|  | int | proxy_port |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct
  | proxy_host | pointer to proxy host
  | proxy_port |

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_server_cert | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | server_cert |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct
  | server_cert | server certificate

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_timeout | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env,
|  | int | timeout_ms |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct
  | timeout_ms |

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_url | ( | axis2_http_client_t * | client,
|  | const axutil_env_t * | env,
|  | axutil_url_t * | url |
| ) |  |  |

Parameters:

  | client | pointer to client
  | env | pointer to environment struct
  | url | pointer to url

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE