+ convert_to_string(message);
+ SET_PROP(obj, raw, message);
+}
+/* }}} */
+
+/* {{{ string HttpMessage::getBody()
+ *
+ * Get the body of the parsed Message.
+ */
+PHP_METHOD(HttpMessage, getBody)
+{
+ zval *body;
+ getObject(http_message_object, obj);
+
+ NO_ARGS;
+
+ body = GET_PROP(obj, body);
+ RETURN_STRINGL(Z_STRVAL_P(body), Z_STRLEN_P(body), 1);
+}
+/* }}} */
+
+/* {{{ array HttpMessage::getHeaders()
+ *
+ * Get Message Headers.
+ */
+PHP_METHOD(HttpMessage, getHeaders)
+{
+ zval *headers;
+ getObject(http_message_object, obj);
+
+ NO_ARGS;
+
+ headers = GET_PROP(obj, headers);
+ array_init(return_value);
+ array_copy(headers, return_value);
+}
+/* }}} */
+
+/* {{{ long HttpMessage::getType()
+ *
+ * Get Message Type. (HTTP_MSG_NONE|HTTP_MSG_REQUEST|HTTP_MSG_RESPONSE)
+ */
+PHP_METHOD(HttpMessage, getType)
+{
+ zval *type;
+ getObject(http_message_object, obj);
+
+ NO_ARGS;
+
+ type = GET_PROP(obj, type);
+ RETURN_LONG(Z_LVAL_P(type));
+}
+/* }}} */
+
+/* {{{ int HttpMessage::getResponseCode()
+ *
+ * Get the Response Code of the Message.
+ */
+PHP_METHOD(HttpMessage, getResponseCode)
+{
+ zval *status;
+ getObject(http_message_object, obj);
+
+ NO_ARGS;
+
+ if (obj->message->type != HTTP_MSG_RESPONSE) {
+ RETURN_NULL();
+ }
+
+ status = GET_PROP(obj, responseCode);
+ RETURN_LONG(Z_LVAL_P(status));
+}
+/* }}} */
+
+/* {{{ string HttpMessage::getRequestMethod()
+ *
+ * Get the Request Method of the Message.
+ */
+PHP_METHOD(HttpMessage, getRequestMethod)
+{
+ zval *method;
+ getObject(http_message_object, obj);
+
+ NO_ARGS;
+
+ if (obj->message->type != HTTP_MSG_REQUEST) {
+ RETURN_NULL();