function remote_request_handlers()
{
switch (current_filter()) {
case 'wp_ajax_nopriv_jetpack_upload_file':
$response = $this->upload_handler();
break;
default:
$response = new Jetpack_Error('unknown_handler', 'Unknown Handler', 400);
break;
}
if (!$response) {
$response = new Jetpack_Error('unknown_error', 'Unknown Error', 400);
}
if (is_wp_error($response)) {
$status_code = $response->get_error_data();
$error = $response->get_error_code();
$error_description = $response->get_error_message();
if (!is_int($status_code)) {
$status_code = 400;
}
status_header($status_code);
die(json_encode((object) compact('error', 'error_description')));
}
status_header(200);
if (true === $response) {
exit;
}
die(json_encode((object) $response));
}