original_string: function send_response() {
  		$this->debug('Enter send_response');
  		if ($this->fault) {
  			$payload = $this->fault->serialize();
  			$this->outgoing_headers[] = "HTTP/1.0 500 Internal Server Error";
  			$this->outgoing_headers[] = "Status: 500 Internal Server Error";
  		} else {
  			$payload = $this->responseSOAP;
  			// Some combinations of PHP+Web server allow the Status
  			// to come through as a header.  Since OK is the default
  			// just do nothing.
  			// $this->outgoing_headers[] = "HTTP/1.0 200 OK";
  			// $this->outgoing_headers[] = "Status: 200 OK";
  		}
          // add debug data if in debug mode
  		if(isset($this->debug_flag) && $this->debug_flag){
          	$payload .= $this->getDebugAsXMLComment();
          }
  		$this->outgoing_headers[] = "Server: $this->title Server v$this->version";
  		preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev);
  		$this->outgoing_headers[] = "X-SOAP-Server: $this->title/$this->version (".$rev[1].")";
  		// Let the Web server decide about this
  		//$this->outgoing_headers[] = "Connection: Close\r\n";
  		$payload = $this->getHTTPBody($payload);
  		$type = $this->getHTTPContentType();
  		$charset = $this->getHTTPContentTypeCharset();
  		$this->outgoing_headers[] = "Content-Type: $type" . ($charset ? '; charset=' . $charset : '');
  		//begin code to compress payload - by John
  		// NOTE: there is no way to know whether the Web server will also compress
  		// this data.
  		if (strlen($payload) > 1024 && isset($this->headers) && isset($this->headers['accept-encoding'])) {	
  			if (strstr($this->headers['accept-encoding'], 'gzip')) {
  				if (function_exists('gzencode')) {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content being gzipped -->";
  					}
  					$this->outgoing_headers[] = "Content-Encoding: gzip";
  					$payload = gzencode($payload);
  				} else {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content will not be gzipped: no gzencode -->";
  					}
  				}
  			} elseif (strstr($this->headers['accept-encoding'], 'deflate')) {
  				// Note: MSIE requires gzdeflate output (no Zlib header and checksum),
  				// instead of gzcompress output,
  				// which conflicts with HTTP 1.1 spec (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5)
  				if (function_exists('gzdeflate')) {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content being deflated -->";
  					}
  					$this->outgoing_headers[] = "Content-Encoding: deflate";
  					$payload = gzdeflate($payload);
  				} else {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content will not be deflated: no gzcompress -->";
  					}
  				}
  			}
  		}
  		//end code
  		$this->outgoing_headers[] = "Content-Length: ".strlen($payload);
  		reset($this->outgoing_headers);
  		foreach($this->outgoing_headers as $hdr){
  			header($hdr, false);
  		}
  		print $payload;
  		$this->response = join("\r\n",$this->outgoing_headers)."\r\n\r\n".$payload;
  	}
code: function send_response() {
  		$this->debug('Enter send_response');
  		if ($this->fault) {
  			$payload = $this->fault->serialize();
  			$this->outgoing_headers[] = "HTTP/1.0 500 Internal Server Error";
  			$this->outgoing_headers[] = "Status: 500 Internal Server Error";
  		} else {
  			$payload = $this->responseSOAP;
  			// Some combinations of PHP+Web server allow the Status
  			// to come through as a header.  Since OK is the default
  			// just do nothing.
  			// $this->outgoing_headers[] = "HTTP/1.0 200 OK";
  			// $this->outgoing_headers[] = "Status: 200 OK";
  		}
          // add debug data if in debug mode
  		if(isset($this->debug_flag) && $this->debug_flag){
          	$payload .= $this->getDebugAsXMLComment();
          }
  		$this->outgoing_headers[] = "Server: $this->title Server v$this->version";
  		preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev);
  		$this->outgoing_headers[] = "X-SOAP-Server: $this->title/$this->version (".$rev[1].")";
  		// Let the Web server decide about this
  		//$this->outgoing_headers[] = "Connection: Close\r\n";
  		$payload = $this->getHTTPBody($payload);
  		$type = $this->getHTTPContentType();
  		$charset = $this->getHTTPContentTypeCharset();
  		$this->outgoing_headers[] = "Content-Type: $type" . ($charset ? '; charset=' . $charset : '');
  		//begin code to compress payload - by John
  		// NOTE: there is no way to know whether the Web server will also compress
  		// this data.
  		if (strlen($payload) > 1024 && isset($this->headers) && isset($this->headers['accept-encoding'])) {	
  			if (strstr($this->headers['accept-encoding'], 'gzip')) {
  				if (function_exists('gzencode')) {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content being gzipped -->";
  					}
  					$this->outgoing_headers[] = "Content-Encoding: gzip";
  					$payload = gzencode($payload);
  				} else {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content will not be gzipped: no gzencode -->";
  					}
  				}
  			} elseif (strstr($this->headers['accept-encoding'], 'deflate')) {
  				// Note: MSIE requires gzdeflate output (no Zlib header and checksum),
  				// instead of gzcompress output,
  				// which conflicts with HTTP 1.1 spec (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5)
  				if (function_exists('gzdeflate')) {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content being deflated -->";
  					}
  					$this->outgoing_headers[] = "Content-Encoding: deflate";
  					$payload = gzdeflate($payload);
  				} else {
  					if (isset($this->debug_flag) && $this->debug_flag) {
  						$payload .= "<!-- Content will not be deflated: no gzcompress -->";
  					}
  				}
  			}
  		}
  		//end code
  		$this->outgoing_headers[] = "Content-Length: ".strlen($payload);
  		reset($this->outgoing_headers);
  		foreach($this->outgoing_headers as $hdr){
  			header($hdr, false);
  		}
  		print $payload;
  		$this->response = join("\r\n",$this->outgoing_headers)."\r\n\r\n".$payload;
  	}
code_tokens: function send_response ( ) { $ this -> debug ( 'Enter send_response' ) ; if ( $ this -> fault ) { $ payload = $ this -> fault -> serialize ( ) ; $ this -> outgoing_headers [ ] = "HTTP/1.0 500 Internal Server Error" ; $ this -> outgoing_headers [ ] = "Status: 500 Internal Server Error" ; } else { $ payload = $ this -> responseSOAP ; // Some combinations of PHP+Web server allow the Status
   // to come through as a header.  Since OK is the default
   // just do nothing.
   // $this->outgoing_headers[] = "HTTP/1.0 200 OK";
   // $this->outgoing_headers[] = "Status: 200 OK";
   } // add debug data if in debug mode
   if ( isset ( $ this -> debug_flag ) && $ this -> debug_flag ) { $ payload .= $ this -> getDebugAsXMLComment ( ) ; } $ this -> outgoing_headers [ ] = "Server: $this->title Server v$this->version" ; preg_match ( '/\$Revisio' . 'n: ([^ ]+)/' , $ this -> revision , $ rev ) ; $ this -> outgoing_headers [ ] = "X-SOAP-Server: $this->title/$this->version (" . $ rev [ 1 ] . ")" ; // Let the Web server decide about this
   //$this->outgoing_headers[] = "Connection: Close\r\n";
   $ payload = $ this -> getHTTPBody ( $ payload ) ; $ type = $ this -> getHTTPContentType ( ) ; $ charset = $ this -> getHTTPContentTypeCharset ( ) ; $ this -> outgoing_headers [ ] = "Content-Type: $type" . ( $ charset ? '; charset=' . $ charset : '' ) ; //begin code to compress payload - by John
   // NOTE: there is no way to know whether the Web server will also compress
   // this data.
   if ( strlen ( $ payload ) > 1024 && isset ( $ this -> headers ) && isset ( $ this -> headers [ 'accept-encoding' ] ) ) { if ( strstr ( $ this -> headers [ 'accept-encoding' ] , 'gzip' ) ) { if ( function_exists ( 'gzencode' ) ) { if ( isset ( $ this -> debug_flag ) && $ this -> debug_flag ) { $ payload .= "<!-- Content being gzipped -->" ; } $ this -> outgoing_headers [ ] = "Content-Encoding: gzip" ; $ payload = gzencode ( $ payload ) ; } else { if ( isset ( $ this -> debug_flag ) && $ this -> debug_flag ) { $ payload .= "<!-- Content will not be gzipped: no gzencode -->" ; } } } elseif ( strstr ( $ this -> headers [ 'accept-encoding' ] , 'deflate' ) ) { // Note: MSIE requires gzdeflate output (no Zlib header and checksum),
   // instead of gzcompress output,
   // which conflicts with HTTP 1.1 spec (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5)
   if ( function_exists ( 'gzdeflate' ) ) { if ( isset ( $ this -> debug_flag ) && $ this -> debug_flag ) { $ payload .= "<!-- Content being deflated -->" ; } $ this -> outgoing_headers [ ] = "Content-Encoding: deflate" ; $ payload = gzdeflate ( $ payload ) ; } else { if ( isset ( $ this -> debug_flag ) && $ this -> debug_flag ) { $ payload .= "<!-- Content will not be deflated: no gzcompress -->" ; } } } } //end code
   $ this -> outgoing_headers [ ] = "Content-Length: " . strlen ( $ payload ) ; reset ( $ this -> outgoing_headers ) ; foreach ( $ this -> outgoing_headers as $ hdr ) { header ( $ hdr , false ) ; } print $ payload ; $ this -> response = join ( "\r\n" , $ this -> outgoing_headers ) . "\r\n\r\n" . $ payload ; }
docstring: sends an HTTP response
  
  The following fields are set by this function (when successful)
  
  outgoing_headers
  response
  
  @access   private
docstring_tokens: sends an HTTP response