我正在将 Google Closure Compiler RESTFul API 与 WordPress 结合使用。 该请求是使用
wp_remote_post()
创建的,到目前为止一切顺利。
我想知道的是如何让API不仅返回编译后的代码,还返回警告、错误和统计信息。
在
'output_info' => array( 'compiled_code', 'warnings', 'errors', 'statistics' )
参数中提供 body
似乎不起作用,并且 API 返回错误。有什么想法吗?
非常感谢!
环顾四周,发现闭包编译器多次接受
output_info
参数。如果不进行一些修改,使用 WP_Http
API 是不可能实现这一点的。
所以我查看了
WP_Http
的来源并执行了以下操作,现在它正在工作:)
// Default request data
$request_data = array(
'output_info' => array( 'compiled_code', 'warnings', 'errors', 'statistics' ),
'output_format' => 'json'
);
$request_data = array_merge( $request_data, $args, compact( 'js_code' ) );
// Process the request body manually to make same named parameters possible
$body = http_build_query( $request_data, null, '&' );
$body = preg_replace( '/output_info%5B\d+%5D=/', 'output_info=', $body );
// Initiate request
$response = wp_remote_post( CLOSURE_COMPILER_URL, array(
'sslverify' => false,
'timeout' => 10,
'headers' => array(
'Content-Type' => 'application/x-www-form-urlencoded; charset=' . get_option( 'blog_charset' )
),
'body' => $body
));