From: <rd...@us...> - 2007-11-26 23:29:51
|
Revision: 475 http://digir.svn.sourceforge.net/digir/?rev=475&view=rev Author: rdg Date: 2007-11-26 15:29:44 -0800 (Mon, 26 Nov 2007) Log Message: ----------- Display link/button to resend individual requests to the endpoint being checked. Modified Paths: -------------- tapirtester/trunk/classes/TcCapabilities.php tapirtester/trunk/classes/TcMetadata.php tapirtester/trunk/classes/TcPing.php tapirtester/trunk/classes/TtExtras.php Added Paths: ----------- tapirtester/trunk/templates/ tapirtester/trunk/templates/xmlform.tmpl.php tapirtester/trunk/www/request.php Modified: tapirtester/trunk/classes/TcCapabilities.php =================================================================== --- tapirtester/trunk/classes/TcCapabilities.php 2007-11-22 22:03:26 UTC (rev 474) +++ tapirtester/trunk/classes/TcCapabilities.php 2007-11-26 23:29:44 UTC (rev 475) @@ -54,6 +54,8 @@ $tapir->Capabilities( $this->mParseResponse ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_abbreviated_parameter_value @@ -69,6 +71,8 @@ $tapir->Capabilities( $this->mParseResponse ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_long_parameter_value @@ -84,6 +88,8 @@ $tapir->SendKvpRequest( array('op'=>'CAPABILITIES') ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_mixed_parameter_case @@ -99,6 +105,8 @@ $tapir->Capabilities( $this->mParseResponse ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_abbreviated_parameter_value @@ -114,6 +122,8 @@ $tapir->Capabilities( $this->mParseResponse ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_long_parameter_value @@ -129,6 +139,8 @@ $tapir->SendKvpRequest( array('OP'=>'c') ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_mixed_parameter_case @@ -149,6 +161,8 @@ $tapir->Capabilities( $this->mParseResponse ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_HTTP_GET @@ -169,6 +183,8 @@ $tapir->Capabilities( $this->mParseResponse ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_HTTP_POST @@ -189,6 +205,8 @@ $tapir->Capabilities( $this->mParseResponse ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_RAWPOST Modified: tapirtester/trunk/classes/TcMetadata.php =================================================================== --- tapirtester/trunk/classes/TcMetadata.php 2007-11-22 22:03:26 UTC (rev 474) +++ tapirtester/trunk/classes/TcMetadata.php 2007-11-26 23:29:44 UTC (rev 475) @@ -49,6 +49,8 @@ $tapir->Metadata(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_abbreviated_parameter_value @@ -64,6 +66,8 @@ $tapir->Metadata(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_long_parameter_value @@ -79,6 +83,8 @@ $tapir->SendKvpRequest( array('op'=>'METADATA') ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_mixed_parameter_case @@ -94,6 +100,8 @@ $tapir->Metadata(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_abbreviated_parameter_value @@ -109,6 +117,8 @@ $tapir->Metadata(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_long_parameter_value @@ -124,6 +134,8 @@ $tapir->SendKvpRequest( array('OP'=>'m') ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_mixed_parameter_case @@ -144,6 +156,8 @@ $tapir->Metadata(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_HTTP_GET @@ -164,6 +178,8 @@ $tapir->Metadata(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_HTTP_POST @@ -184,6 +200,8 @@ $tapir->Metadata(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_RAWPOST Modified: tapirtester/trunk/classes/TcPing.php =================================================================== --- tapirtester/trunk/classes/TcPing.php 2007-11-22 22:03:26 UTC (rev 474) +++ tapirtester/trunk/classes/TcPing.php 2007-11-26 23:29:44 UTC (rev 475) @@ -49,6 +49,8 @@ $tapir->Ping(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_abbreviated_parameter_value @@ -64,6 +66,8 @@ $tapir->Ping(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_long_parameter_value @@ -79,6 +83,8 @@ $tapir->SendKvpRequest( array('op'=>'PING') ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_GET_using_mixed_parameter_case @@ -94,6 +100,8 @@ $tapir->Ping(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_abbreviated_parameter_value @@ -109,6 +117,8 @@ $tapir->Ping(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_long_parameter_value @@ -124,6 +134,8 @@ $tapir->SendKvpRequest( array('OP'=>'p') ); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_KVP_with_HTTP_POST_using_mixed_parameter_case @@ -144,6 +156,8 @@ $tapir->Ping(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_HTTP_GET @@ -164,6 +178,8 @@ $tapir->Ping(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_HTTP_POST @@ -184,6 +200,8 @@ $tapir->Ping(); + TtExtras::PaintRequestLink(); + $this->_CheckResponse(); } // end of test_XML_with_RAWPOST Modified: tapirtester/trunk/classes/TtExtras.php =================================================================== --- tapirtester/trunk/classes/TtExtras.php 2007-11-22 22:03:26 UTC (rev 474) +++ tapirtester/trunk/classes/TtExtras.php 2007-11-26 23:29:44 UTC (rev 475) @@ -23,6 +23,8 @@ * @author Renato De Giovanni <renato [at] cria . org . br> */ +require_once('tapirchirp/TpClient.php'); + // Extra functions for the TapirTester framework class TtExtras { @@ -46,6 +48,110 @@ } // end of PaintCustomSkip + // Print a link to repeat the exact request + public static function PaintRequestLink() + { + if ( isset( $_REQUEST['xml'] ) ) + { + return; + } + + if ( isset( $GLOBALS['request_number'] ) ) + { + ++$GLOBALS['request_number']; + } + else + { + $GLOBALS['request_number'] = 1; + } + + $tapir =& $GLOBALS['tapir']; + + $last_request = $tapir->GetLastRequest(); + + $endpoint = $tapir->GetEndpoint(); + + $encoding = $tapir->GetEncoding(); + + $url = ''; + + $label = 'Request #'.$GLOBALS['request_number']; + + if ( $encoding == TpEncoding::KVP_GET ) + { + print "<a href=\"$last_request\" target=\"_new\">$label</a><br/>\n"; + } + else if ( $encoding == TpEncoding::KVP_POST ) + { + print "<form action=\"$endpoint\" method=\"POST\" target=\"_new\">\n"; + + foreach ( $last_request as $parameter_name => $parameter_value ) + { + if ( is_array( $parameter_value ) ) + { + foreach ( $parameter_value as $individual_value ) + { + print "<input type=\"hidden\" name=\"$parameter_name\" value=\"$individual_value\">\n"; + } + } + else + { + print "<input type=\"hidden\" name=\"$parameter_name\" value=\"$parameter_value\">\n"; + } + } + + print "<input type=\"submit\" name=\"_send\" value=\"$label\">\n"; + print "</form>\n"; + } + else if ( $encoding == TpEncoding::XML_RAW_POST ) + { + $endpoint = urlencode( $endpoint ); + + $last_request = urlencode( $last_request ); + + $url = "request.php?tp_e=$encoding&tp_a=$endpoint&tp_c=$last_request"; + + print "<a href=\"$url\" target=\"_new\">$label</a><br/>\n"; + } + else if ( $encoding == TpEncoding::XML_GET ) + { + $xml = urlencode( $last_request ); + + $separator = TtExtras::GetUrlParameterSeparator( $endpoint ); + + $url = $endpoint . $separator . 'request=' . $xml; + + print "<a href=\"$url\" target=\"_new\">$label</a><br/>\n"; + } + else if ( $encoding == TpEncoding::XML_POST ) + { + $xml = htmlspecialchars( $last_request ); + + print "<form action=\"$endpoint\" method=\"POST\" target=\"_new\">\n"; + print "<input type=\"hidden\" name=\"request\" value=\"$xml\">\n"; + print "<input type=\"submit\" name=\"_send\" value=\"$label\">\n"; + print "</form>\n"; + } + else + { + trigger_error( 'Unknown TAPIR request encoding' ); + } + + } // end of PaintRequestLink + + // Returns the character ('?' or '&') to be appended in a given URL + // to add parameters in the query string. + public function GetUrlParameterSeparator( $url ) + { + if ( strpos( $url, '?' ) === false ) + { + return '?'; + } + + return '&'; + + } // end of GetUrlParameterSeparator + // Handle XML Schema validation messages public static function HandleXmlValidationMessages() { Added: tapirtester/trunk/templates/xmlform.tmpl.php =================================================================== --- tapirtester/trunk/templates/xmlform.tmpl.php (rev 0) +++ tapirtester/trunk/templates/xmlform.tmpl.php 2007-11-26 23:29:44 UTC (rev 475) @@ -0,0 +1,37 @@ +<html> +<head> +<title>TapirLink XML Request</title> +<style type="text/css"> +pre { +white-space: pre-wrap; /* css-3 */ +white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ +white-space: -pre-wrap; /* Opera 4-6 */ +white-space: -o-pre-wrap; /* Opera 7 */ +word-wrap: break-word; /* Internet Explorer 5.5+ */ +width: 99%; +background-color: lightgray; +border-top-style: double; +border-top-width: 4px; +border-bottom-style: double; +border-bottom-width: 4px; +padding: 4px; +margin: 0em;} +</style></head> +<body bgcolor="#FFFFFF"> +<h1>TAPIR XML Request</h1> + +<form id="xmlform" action="request.php" method="POST" target="_new"> + +<b>Accesspoint:</b> <?php print($accesspoint); ?><br /> +<input type="hidden" name="tp_a" value="<?php print($accesspoint); ?>" /> +<input type="hidden" name="tp_e" value="2" /> +<input type="hidden" name="tp_c" value="<?php print($xml); ?>" /> +<br /> +<pre> +<?php print($xml); ?> +</pre> +<br /> +<input type="submit" name="send" value="Send" /> +</form> +</body> +</html> \ No newline at end of file Added: tapirtester/trunk/www/request.php =================================================================== --- tapirtester/trunk/www/request.php (rev 0) +++ tapirtester/trunk/www/request.php 2007-11-26 23:29:44 UTC (rev 475) @@ -0,0 +1,81 @@ +<?php +/** + * $Id$ + * + * Copyright (C) 2007, Biodiversity Information Standards (TDWG). + * http://www.tdwg.org + * + * LICENSE INFORMATION + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details: + * + * http://www.gnu.org/copyleft/gpl.html + * + * + * @author Renato De Giovanni <renato [at] cria . org . br> + */ + +// This scrip receives a TAPIR XML request (plus accesspoint) as parameters, +// displays the parameter values and allows the user to send the request. + +require_once('../lib/tapirchirp/TpClient.php'); + +// Show request when user didn't click on "send" button +if ( ! isset( $_REQUEST['send'] ) ) +{ + // Accesspoint + if ( ! isset( $_REQUEST['tp_a'] ) + { + trigger_error('Missing mandatory parameter tp_a (TAPIR accesspoint)'); + } + + $accesspoint = $_REQUEST['tp_a']; + + if ( ! isset( $_REQUEST['tp_c'] ) + { + trigger_error('Missing mandatory parameter tp_c (TAPIR XML request)'); + } + + $xml = $_REQUEST['tp_c']; + + $xml = str_replace( '\"', '"', $xml ); + $xml = str_replace( '><', ">\n<", $xml ); + + $xml = str_replace( 'TapirTester', 'TapirTester User Form', $xml ); + + $xml = htmlspecialchars( $xml ); + + // Include HTML template + include_once('../templates/xmlform.tmpl.php'); + +} +// Process request if user clicked on "send" +else +{ + $url = $_REQUEST['tp_a']; + $encoding = $_REQUEST['tp_e']; + + $body = str_replace( '\"', '"', $_REQUEST['tp_c'] ); + + $tapir_client = new TpClient( $url ); + + $tapir_client->SetEncoding( $encoding ); + + $wrap_body = false; + + $tapir_client->SendXmlRequest( $body, $wrap_body ); + + $response = $tapir_client->GetLastResponseContent(); + + header( 'Content-type: text/xml' ); + echo $response; +} +?> \ No newline at end of file Property changes on: tapirtester/trunk/www/request.php ___________________________________________________________________ Name: svn:keywords + Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |