Skip to content

Commit

Permalink
porting
Browse files Browse the repository at this point in the history
  • Loading branch information
laruence committed Feb 7, 2015
1 parent aee8b29 commit 11773c3
Show file tree
Hide file tree
Showing 6 changed files with 294 additions and 267 deletions.
2 changes: 1 addition & 1 deletion requests/yaf_request_simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ YAF_STARTUP_FUNCTION(request_simple){
zend_class_entry ce;
YAF_INIT_CLASS_ENTRY(ce, "Yaf_Request_Simple", "Yaf\\Request\\Simple", yaf_request_simple_methods);
yaf_request_simple_ce = zend_register_internal_class_ex(&ce, yaf_request_ce TSRMLS_CC);
yaf_request_simple_ce->ce_flags |= ZEND_ACC_FINAL_CLASS;
yaf_request_simple_ce->ce_flags |= ZEND_ACC_FINAL;

zend_declare_class_constant_string(yaf_request_simple_ce, ZEND_STRL("SCHEME_HTTP"), "http" TSRMLS_CC);
zend_declare_class_constant_string(yaf_request_simple_ce, ZEND_STRL("SCHEME_HTTPS"), "https" TSRMLS_CC);
Expand Down
68 changes: 34 additions & 34 deletions responses/yaf_response_http.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@ ZEND_BEGIN_ARG_INFO_EX(yaf_response_http_set_redirect_arginfo, 0, 0, 1)
ZEND_END_ARG_INFO()
/* }}} */

/** {{{ zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC)
/** {{{ zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len)
*/
zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) {
zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_len) {
zval *pzval;

zval *zheaders = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC);
zval *zheaders = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1);

if (IS_ARRAY != Z_TYPE_P(zheaders)) {
return NULL;
Expand All @@ -80,11 +80,11 @@ zval * yaf_response_get_header(yaf_response_t *response, char *name, uint name_l
}
/* }}} */

/** {{{ int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC)
/** {{{ int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len)
*/
int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len TSRMLS_DC) {
int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_len) {
zval *zheader;
zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC);
zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1);

if (name_len) {
zend_hash_str_del(Z_ARRVAL_P(zheader), name, name_len);
Expand All @@ -95,17 +95,17 @@ int yaf_response_clear_header(yaf_response_t *response, char *name, uint name_le
}
/* }}} */

/** {{{ int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, int flag TSRMLS_DC)
/** {{{ int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, int flag)
*/
int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, uint rep TSRMLS_DC) {
int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_len, char *value, long value_len, uint rep) {
zval *z_headers, *pzval;
zend_string *oheader;

if (!name_len) {
return 1;
}

z_headers = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC);
z_headers = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1);

if ((pzval = zend_hash_str_find(Z_ARRVAL_P(z_headers), name, name_len)) == NULL) {
add_assoc_stringl_ex(z_headers, name, name_len, value, value_len);
Expand All @@ -131,14 +131,14 @@ int yaf_response_alter_header(yaf_response_t *response, char *name, uint name_le
}
/* }}} */

/** {{{ int yaf_response_set_redirect(yaf_response_t *response, char *url, int len TSRMLS_DC)
/** {{{ int yaf_response_set_redirect(yaf_response_t *response, char *url, int len)
*/
int yaf_response_set_redirect(yaf_response_t *response, char *url, int len TSRMLS_DC) {
int yaf_response_set_redirect(yaf_response_t *response, char *url, int len) {
sapi_header_line ctr = {0};

ctr.line_len = spprintf(&(ctr.line), 0, "%s %s", "Location:", url);
ctr.response_code = 0;
if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr TSRMLS_CC) == SUCCESS) {
if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr) == SUCCESS) {
efree(ctr.line);
return 1;
}
Expand All @@ -147,19 +147,19 @@ int yaf_response_set_redirect(yaf_response_t *response, char *url, int len TSRML
}
/* }}} */

/** {{{ int yaf_response_http_send(yaf_response_t *response TSRMLS_DC)
/** {{{ int yaf_response_http_send(yaf_response_t *response)
*/
int yaf_response_http_send(yaf_response_t *response TSRMLS_DC) {
int yaf_response_http_send(yaf_response_t *response) {
zval *zresponse_code, *zheader, *zbody;
zval *val, *entry;
zend_string *header_name;
ulong num_key;
sapi_header_line ctr = {0};

zresponse_code = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 1 TSRMLS_CC);
zresponse_code = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 1);
SG(sapi_headers).http_response_code = Z_LVAL_P(zresponse_code);

zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1 TSRMLS_CC);
zheader = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADER), 1);

ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(zheader), num_key, header_name, entry) {
if (header_name) {
Expand All @@ -169,19 +169,19 @@ int yaf_response_http_send(yaf_response_t *response TSRMLS_DC) {
}

ctr.response_code = 0;
if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr TSRMLS_CC) != SUCCESS) {
if (sapi_header_op(SAPI_HEADER_REPLACE, &ctr) != SUCCESS) {
efree(ctr.line);
return 0;
}
} ZEND_HASH_FOREACH_END();
efree(ctr.line);

zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1 TSRMLS_CC);
zbody = zend_read_property(yaf_response_ce, response, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_BODY), 1);

zend_hash_internal_pointer_reset(Z_ARRVAL_P(zbody));
while ((val = zend_hash_get_current_data(Z_ARRVAL_P(zbody))) != NULL) {
convert_to_string_ex(val);
php_write(Z_STRVAL_P(val), Z_STRLEN_P(val) TSRMLS_CC);
php_write(Z_STRVAL_P(val), Z_STRLEN_P(val));
zend_hash_move_forward(Z_ARRVAL_P(zbody));
}

Expand All @@ -198,17 +198,17 @@ PHP_METHOD(yaf_response_http, setHeader) {
zend_bool rep = 1;
yaf_response_t *self;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|bz", &name, &name_len, &value, &value_len, &rep, &response_code) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|bz", &name, &name_len, &value, &value_len, &rep, &response_code) == FAILURE) {
return;
}

self = getThis();

if (response_code) {
zend_update_property(yaf_response_ce, self, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), response_code TSRMLS_CC);
zend_update_property(yaf_response_ce, self, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), response_code);
}

if (yaf_response_alter_header(self, name, name_len, value, value_len, rep ? 1 : 0 TSRMLS_CC)) {
if (yaf_response_alter_header(self, name, name_len, value, value_len, rep ? 1 : 0)) {
RETURN_TRUE;
}

Expand All @@ -226,7 +226,7 @@ PHP_METHOD(yaf_response_http, setAllHeaders) {
yaf_response_t *self;
zval e;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &headers) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "a", &headers) == FAILURE) {
return;
}

Expand All @@ -238,10 +238,10 @@ PHP_METHOD(yaf_response_http, setAllHeaders) {
if (Z_TYPE_P(entry) != IS_STRING) {
zval_copy_ctor(&e);
_convert_to_string(&e ZEND_FILE_LINE_CC);
yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1 TSRMLS_CC);
yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1);
zval_dtor(&e);
} else {
yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1 TSRMLS_CC);
yaf_response_alter_header(self, name->val, name->len, Z_STRVAL(e), Z_STRLEN(e), 1);
}
}
} ZEND_HASH_FOREACH_END();
Expand All @@ -257,11 +257,11 @@ PHP_METHOD(yaf_response_http, getHeader) {
char *name = NULL;
size_t name_len = 0;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &name, &name_len) == FAILURE) {
return;
}

header = yaf_response_get_header(getThis(), name, name_len TSRMLS_CC);
header = yaf_response_get_header(getThis(), name, name_len);

if (header) {
RETURN_ZVAL(header, 1, 0);
Expand All @@ -274,7 +274,7 @@ PHP_METHOD(yaf_response_http, getHeader) {
/** {{{ proto public Yaf_Response_Http::clearHeaders(void)
*/
PHP_METHOD(yaf_response_http, clearHeaders) {
if (yaf_response_clear_header(getThis(), NULL, 0 TSRMLS_CC)) {
if (yaf_response_clear_header(getThis(), NULL, 0)) {
RETURN_ZVAL(getThis(), 1, 0);
}

Expand All @@ -288,22 +288,22 @@ PHP_METHOD(yaf_response_http, setRedirect) {
char *url;
size_t url_len;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &url, &url_len) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &url, &url_len) == FAILURE) {
return;
}

if (!url_len) {
RETURN_FALSE;
}

RETURN_BOOL(yaf_response_set_redirect(getThis(), url, url_len TSRMLS_CC));
RETURN_BOOL(yaf_response_set_redirect(getThis(), url, url_len));
}
/* }}} */

/** {{{ proto public Yaf_Response_Http::response(void)
*/
PHP_METHOD(yaf_response_http, response) {
RETURN_BOOL(yaf_response_http_send(getThis() TSRMLS_CC));
RETURN_BOOL(yaf_response_http_send(getThis()));
}
/* }}} */

Expand All @@ -327,10 +327,10 @@ YAF_STARTUP_FUNCTION(response_http) {

YAF_INIT_CLASS_ENTRY(ce, "Yaf_Response_Http", "Yaf\\Response\\Http", yaf_response_http_methods);

yaf_response_http_ce = zend_register_internal_class_ex(&ce, yaf_response_ce TSRMLS_CC);
yaf_response_http_ce = zend_register_internal_class_ex(&ce, yaf_response_ce);

zend_declare_property_bool(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADEREXCEPTION), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
zend_declare_property_long(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 200, ZEND_ACC_PROTECTED TSRMLS_CC);
zend_declare_property_bool(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_HEADEREXCEPTION), 1, ZEND_ACC_PROTECTED);
zend_declare_property_long(yaf_response_http_ce, ZEND_STRL(YAF_RESPONSE_PROPERTY_NAME_RESPONSECODE), 200, ZEND_ACC_PROTECTED);

return SUCCESS;
}
Expand Down
Loading

0 comments on commit 11773c3

Please sign in to comment.