98 | | if ( true === WP_Http_ExtHttp::test($args) ) { |
99 | | $working_transport['exthttp'] = new WP_Http_ExtHttp(); |
100 | | $blocking_transport[] = &$working_transport['exthttp']; |
101 | | } else if ( true === WP_Http_Curl::test($args) ) { |
102 | | $working_transport['curl'] = new WP_Http_Curl(); |
103 | | $blocking_transport[] = &$working_transport['curl']; |
104 | | } else if ( true === WP_Http_Streams::test($args) ) { |
105 | | $working_transport['streams'] = new WP_Http_Streams(); |
106 | | $blocking_transport[] = &$working_transport['streams']; |
107 | | } else if ( true === WP_Http_Fopen::test($args) ) { |
108 | | $working_transport['fopen'] = new WP_Http_Fopen(); |
109 | | $blocking_transport[] = &$working_transport['fopen']; |
110 | | } else if ( true === WP_Http_Fsockopen::test($args) ) { |
111 | | $working_transport['fsockopen'] = new WP_Http_Fsockopen(); |
112 | | $blocking_transport[] = &$working_transport['fsockopen']; |
| 98 | $transient = 'working_transports_' . md5(serialize($args)); |
| 99 | $working_transports = get_transient($transient); |
| 100 | |
| 101 | if ( is_array($working_transports) ) { |
| 102 | foreach ( $working_transports as $key => $class ) { |
| 103 | $working_transport[$key] = new $class(); |
| 104 | $blocking_transport[] = &$working_transport[$key]; |
| 105 | } |
| 106 | } else { |
| 107 | $working_transports = array(); |
| 108 | if ( true === WP_Http_ExtHttp::test($args) ) { |
| 109 | $working_transports['exthttp'] = 'WP_Http_ExtHttp'; |
| 110 | $working_transport['exthttp'] = new WP_Http_ExtHttp(); |
| 111 | $blocking_transport[] = &$working_transport['exthttp']; |
| 112 | } else if ( true === WP_Http_Curl::test($args) ) { |
| 113 | $working_transports['curl'] = 'WP_Http_Curl'; |
| 114 | $working_transport['curl'] = new WP_Http_Curl(); |
| 115 | $blocking_transport[] = &$working_transport['curl']; |
| 116 | } else if ( true === WP_Http_Streams::test($args) ) { |
| 117 | $working_transports['streams'] = 'WP_Http_Streams'; |
| 118 | $working_transport['streams'] = new WP_Http_Streams(); |
| 119 | $blocking_transport[] = &$working_transport['streams']; |
| 120 | } else if ( true === WP_Http_Fopen::test($args) ) { |
| 121 | $working_transports['fopen'] = 'WP_Http_Fopen'; |
| 122 | $working_transport['fopen'] = new WP_Http_Fopen(); |
| 123 | $blocking_transport[] = &$working_transport['fopen']; |
| 124 | } else if ( true === WP_Http_Fsockopen::test($args) ) { |
| 125 | $working_transports['fsockopen'] = 'WP_Http_Fsockopen'; |
| 126 | $working_transport['fsockopen'] = new WP_Http_Fsockopen(); |
| 127 | $blocking_transport[] = &$working_transport['fsockopen']; |
| 128 | } |
| 129 | set_transient($transient, $working_transports, 86400); |