Skip to content

Commit 1f8a1b0

Browse files
committed
Apply PSR-2 checkstyle
1 parent 370b0e2 commit 1f8a1b0

File tree

1 file changed

+87
-86
lines changed

1 file changed

+87
-86
lines changed

proxy.php

Lines changed: 87 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -11,150 +11,151 @@
1111
* Enables or disables filtering for cross domain requests.
1212
* Recommended value: true
1313
*/
14-
define( 'CSAJAX_FILTERS', true );
14+
define('CSAJAX_FILTERS', true);
1515

1616
/**
1717
* If set to true, $valid_requests should hold only domains i.e. a.example.com, b.example.com, usethisdomain.com
1818
* If set to false, $valid_requests should hold the whole URL ( without the parameters ) i.e. http://example.com/this/is/long/url/
1919
* Recommended value: false (for security reasons - do not forget that anyone can access your proxy)
2020
*/
21-
define( 'CSAJAX_FILTER_DOMAIN', false );
21+
define('CSAJAX_FILTER_DOMAIN', false);
2222

2323
/**
2424
* Set debugging to true to receive additional messages - really helpful on development
2525
*/
26-
define( 'CSAJAX_DEBUG', false );
26+
define('CSAJAX_DEBUG', false);
2727

2828
/**
2929
* A set of valid cross domain requests
3030
*/
3131
$valid_requests = array(
32-
// 'example.com'
32+
// 'example.com'
3333
);
3434

3535
/* * * STOP EDITING HERE UNLESS YOU KNOW WHAT YOU ARE DOING * * */
3636

3737
// identify request headers
3838
$request_headers = array( );
39-
foreach ( $_SERVER as $key => $value ) {
40-
if ( strpos($key, 'HTTP_') === 0 || strpos($key, 'CONTENT_') === 0 ) {
41-
$headername = str_replace( '_', ' ', str_replace('HTTP_', '', $key));
42-
$headername = str_replace( ' ', '-', ucwords( strtolower( $headername ) ) );
43-
if ( !in_array( $headername, array( 'Host', 'X-Proxy-Url' ) ) ) {
44-
$request_headers[] = "$headername: $value";
45-
}
46-
}
39+
foreach ($_SERVER as $key => $value) {
40+
if (strpos($key, 'HTTP_') === 0 || strpos($key, 'CONTENT_') === 0) {
41+
$headername = str_replace('_', ' ', str_replace('HTTP_', '', $key));
42+
$headername = str_replace(' ', '-', ucwords(strtolower($headername)));
43+
if (!in_array($headername, array( 'Host', 'X-Proxy-Url' ))) {
44+
$request_headers[] = "$headername: $value";
45+
}
46+
}
4747
}
4848

4949
// identify request method, url and params
5050
$request_method = $_SERVER['REQUEST_METHOD'];
51-
if ( 'GET' == $request_method ) {
52-
$request_params = $_GET;
53-
} elseif ( 'POST' == $request_method ) {
54-
$request_params = $_POST;
55-
if ( empty( $request_params ) ) {
56-
$data = file_get_contents( 'php://input' );
57-
if ( !empty( $data ) ) {
58-
$request_params = $data;
59-
}
60-
}
61-
} elseif ( 'PUT' == $request_method || 'DELETE' == $request_method ) {
62-
$request_params = file_get_contents( 'php://input' );
51+
if ('GET' == $request_method) {
52+
$request_params = $_GET;
53+
} elseif ('POST' == $request_method) {
54+
$request_params = $_POST;
55+
if (empty($request_params)) {
56+
$data = file_get_contents('php://input');
57+
if (!empty($data)) {
58+
$request_params = $data;
59+
}
60+
}
61+
} elseif ('PUT' == $request_method || 'DELETE' == $request_method) {
62+
$request_params = file_get_contents('php://input');
6363
} else {
64-
$request_params = null;
64+
$request_params = null;
6565
}
6666

6767
// Get URL from `csurl` in GET or POST data, before falling back to X-Proxy-URL header.
68-
if ( isset( $_REQUEST['csurl'] ) ) {
69-
$request_url = urldecode( $_REQUEST['csurl'] );
70-
} else if ( isset( $_SERVER['HTTP_X_PROXY_URL'] ) ) {
71-
$request_url = urldecode( $_SERVER['HTTP_X_PROXY_URL'] );
68+
if (isset($_REQUEST['csurl'])) {
69+
$request_url = urldecode($_REQUEST['csurl']);
70+
} elseif (isset($_SERVER['HTTP_X_PROXY_URL'])) {
71+
$request_url = urldecode($_SERVER['HTTP_X_PROXY_URL']);
7272
} else {
73-
header( $_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
74-
header( 'Status: 404 Not Found' );
73+
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
74+
header('Status: 404 Not Found');
7575
$_SERVER['REDIRECT_STATUS'] = 404;
7676
exit;
7777
}
7878

79-
$p_request_url = parse_url( $request_url );
79+
$p_request_url = parse_url($request_url);
8080

8181
// csurl may exist in GET request methods
82-
if ( is_array( $request_params ) && array_key_exists('csurl', $request_params ) )
83-
unset( $request_params['csurl'] );
82+
if (is_array($request_params) && array_key_exists('csurl', $request_params)) {
83+
unset($request_params['csurl']);
84+
}
8485

8586
// ignore requests for proxy :)
86-
if ( preg_match( '!' . $_SERVER['SCRIPT_NAME'] . '!', $request_url ) || empty( $request_url ) || count( $p_request_url ) == 1 ) {
87-
csajax_debug_message( 'Invalid request - make sure that csurl variable is not empty' );
88-
exit;
87+
if (preg_match('!' . $_SERVER['SCRIPT_NAME'] . '!', $request_url) || empty($request_url) || count($p_request_url) == 1) {
88+
csajax_debug_message('Invalid request - make sure that csurl variable is not empty');
89+
exit;
8990
}
9091

9192
// check against valid requests
92-
if ( CSAJAX_FILTERS ) {
93-
$parsed = $p_request_url;
94-
if ( CSAJAX_FILTER_DOMAIN ) {
95-
if ( !in_array( $parsed['host'], $valid_requests ) ) {
96-
csajax_debug_message( 'Invalid domain - ' . $parsed['host'] . ' does not included in valid requests' );
97-
exit;
98-
}
99-
} else {
100-
$check_url = isset( $parsed['scheme'] ) ? $parsed['scheme'] . '://' : '';
101-
$check_url .= isset( $parsed['user'] ) ? $parsed['user'] . ($parsed['pass'] ? ':' . $parsed['pass'] : '') . '@' : '';
102-
$check_url .= isset( $parsed['host'] ) ? $parsed['host'] : '';
103-
$check_url .= isset( $parsed['port'] ) ? ':' . $parsed['port'] : '';
104-
$check_url .= isset( $parsed['path'] ) ? $parsed['path'] : '';
105-
if ( !in_array( $check_url, $valid_requests ) ) {
106-
csajax_debug_message( 'Invalid domain - ' . $request_url . ' does not included in valid requests' );
107-
exit;
108-
}
109-
}
93+
if (CSAJAX_FILTERS) {
94+
$parsed = $p_request_url;
95+
if (CSAJAX_FILTER_DOMAIN) {
96+
if (!in_array($parsed['host'], $valid_requests)) {
97+
csajax_debug_message('Invalid domain - ' . $parsed['host'] . ' does not included in valid requests');
98+
exit;
99+
}
100+
} else {
101+
$check_url = isset($parsed['scheme']) ? $parsed['scheme'] . '://' : '';
102+
$check_url .= isset($parsed['user']) ? $parsed['user'] . ($parsed['pass'] ? ':' . $parsed['pass'] : '') . '@' : '';
103+
$check_url .= isset($parsed['host']) ? $parsed['host'] : '';
104+
$check_url .= isset($parsed['port']) ? ':' . $parsed['port'] : '';
105+
$check_url .= isset($parsed['path']) ? $parsed['path'] : '';
106+
if (!in_array($check_url, $valid_requests)) {
107+
csajax_debug_message('Invalid domain - ' . $request_url . ' does not included in valid requests');
108+
exit;
109+
}
110+
}
110111
}
111112

112113
// append query string for GET requests
113-
if ( $request_method == 'GET' && count( $request_params ) > 0 && (!array_key_exists( 'query', $p_request_url ) || empty( $p_request_url['query'] ) ) ) {
114-
$request_url .= '?' . http_build_query( $request_params );
114+
if ($request_method == 'GET' && count($request_params) > 0 && (!array_key_exists('query', $p_request_url) || empty($p_request_url['query']))) {
115+
$request_url .= '?' . http_build_query($request_params);
115116
}
116117

117118
// let the request begin
118-
$ch = curl_init( $request_url );
119-
curl_setopt( $ch, CURLOPT_HTTPHEADER, $request_headers ); // (re-)send headers
120-
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); // return response
121-
curl_setopt( $ch, CURLOPT_HEADER, true ); // enabled response headers
119+
$ch = curl_init($request_url);
120+
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers); // (re-)send headers
121+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return response
122+
curl_setopt($ch, CURLOPT_HEADER, true); // enabled response headers
122123
// add data for POST, PUT or DELETE requests
123-
if ( 'POST' == $request_method ) {
124-
$post_data = is_array( $request_params ) ? http_build_query( $request_params ) : $request_params;
125-
curl_setopt( $ch, CURLOPT_POST, true );
126-
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_data );
127-
} elseif ( 'PUT' == $request_method || 'DELETE' == $request_method ) {
128-
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, $request_method );
129-
curl_setopt( $ch, CURLOPT_POSTFIELDS, $request_params );
124+
if ('POST' == $request_method) {
125+
$post_data = is_array($request_params) ? http_build_query($request_params) : $request_params;
126+
curl_setopt($ch, CURLOPT_POST, true);
127+
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
128+
} elseif ('PUT' == $request_method || 'DELETE' == $request_method) {
129+
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
130+
curl_setopt($ch, CURLOPT_POSTFIELDS, $request_params);
130131
}
131132

132133
// retrieve response (headers and content)
133-
$response = curl_exec( $ch );
134-
curl_close( $ch );
134+
$response = curl_exec($ch);
135+
curl_close($ch);
135136

136137
// split response to header and content
137-
list($response_headers, $response_content) = preg_split( '/(\r\n){2}/', $response, 2 );
138+
list($response_headers, $response_content) = preg_split('/(\r\n){2}/', $response, 2);
138139

139140
// (re-)send the headers
140-
$response_headers = preg_split( '/(\r\n){1}/', $response_headers );
141-
foreach ( $response_headers as $key => $response_header ) {
142-
// Rewrite the `Location` header, so clients will also use the proxy for redirects.
143-
if ( preg_match( '/^Location:/', $response_header ) ) {
144-
list($header, $value) = preg_split( '/: /', $response_header, 2 );
145-
$response_header = 'Location: ' . $_SERVER['REQUEST_URI'] . '?csurl=' . $value;
146-
}
147-
if ( !preg_match( '/^(Transfer-Encoding):/', $response_header ) ) {
148-
header( $response_header, false );
149-
}
141+
$response_headers = preg_split('/(\r\n){1}/', $response_headers);
142+
foreach ($response_headers as $key => $response_header) {
143+
// Rewrite the `Location` header, so clients will also use the proxy for redirects.
144+
if (preg_match('/^Location:/', $response_header)) {
145+
list($header, $value) = preg_split('/: /', $response_header, 2);
146+
$response_header = 'Location: ' . $_SERVER['REQUEST_URI'] . '?csurl=' . $value;
147+
}
148+
if (!preg_match('/^(Transfer-Encoding):/', $response_header)) {
149+
header($response_header, false);
150+
}
150151
}
151152

152153
// finally, output the content
153-
print( $response_content );
154+
print($response_content);
154155

155-
function csajax_debug_message( $message )
156+
function csajax_debug_message($message)
156157
{
157-
if ( true == CSAJAX_DEBUG ) {
158-
print $message . PHP_EOL;
159-
}
158+
if (true == CSAJAX_DEBUG) {
159+
print $message . PHP_EOL;
160+
}
160161
}

0 commit comments

Comments
 (0)