From: David M. (JIRA) <dem...@vi...> - 2012-10-02 10:50:33
|
<style> /* Changing the layout to use less space for mobiles */ @media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) { #email-body { min-width: 30em !important; } #email-page { padding: 8px !important; } #email-banner { padding: 8px 8px 0 8px !important; } #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; } #email-fields { padding: 0 8px 8px 8px !important; } #email-gutter { width: 0 !important; } } </style> <div id="email-body"> <table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;"> <tr valign="top"> <td id="email-page" style="padding:16px !important;"> <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;"> <tr valign="top"> <td bgcolor="#FFFFFF" style="background-color:#FFFFFF;color:#395fdb;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="http://vufind.org/demo/images/vufind.jpg" alt="" style="vertical-align:top;" /></td> </tr><tr valign="top"> <td id="email-banner" style="padding:32px 32px 0 32px;"> <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;"> <tr valign="top"> <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;"> <img id="email-avatar" src="http://vufind.org/jira/secure/useravatar?avatarId=10072" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" /> <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;"> <a class="user-hover" rel="dmaus" id="email_dmaus" href="http://vufind.org/jira/secure/ViewProfile.jspa?name=dmaus" style="color:#326ca6;">David Maus</a> created <img src="http://vufind.org/jira/images/icons/newfeature.gif" height="16" width="16" border="0" align="absmiddle" alt="New Feature"> <a style='color:#326ca6;text-decoration:none;' href='http://vufind.org/jira/browse/VUFIND-682'>VUFIND-682</a> </div> <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;"> <a style='color:#326ca6;text-decoration:none;' href='http://vufind.org/jira/browse/VUFIND-682'><strong>[PROP] Proxy service API</strong></a> </div> </td> </tr> </table> </td> </tr> <tr valign="top"> <td id="email-fields" style="padding:0 32px 32px 32px;"> <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%"> <tr valign="top"> <td id="email-gutter" style="width:64px;white-space:nowrap;"></td> <td> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:#505050;">Issue Type:</strong> </td> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;"> <img src="http://vufind.org/jira/images/icons/newfeature.gif" height="16" width="16" border="0" align="absmiddle" alt="New Feature"> New Feature </td> </tr> <tr valign="top"> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:#505050;">Assignee:</strong> </td> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;"> Unassigned </td> </tr> <tr valign="top"> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:#505050;">Created:</strong> </td> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;"> 02/Oct/12 6:49 AM </td> </tr> <tr valign="top"> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:#505050;">Description:</strong> </td> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;"> The terms MUST NOT, SHOULD NOT, SHOULD, MUST, and MAY are used as defined by [RFC2119]. <br/> <br/> The proxy service provides access to HTTP-based internal and external resources. The services can be <br/> configured to proxy requests to external resources identified by the host part of the http URI. <br/> <br/> The following hosts are considered as as internal resources: <br/> <br/> - localhost (IPv4 local host) <br/> - 127/8 (IPv4 loopback network addresses) <br/> - [::1] (IPv6 loopback address) <br/> <br/> Other VF2 components SHOULD use the proxy service in order to integrate in environments that require <br/> proxy access. <br/> <br/> * Public API <br/> <br/> The proxy service implements the following public methods: <br/> <br/> ** get(string URL[, array PARAMS[, array HEADERS])) <br/> <br/> Performs a GET request to URL using optional PARAMS and optional HEADERS and returns the response. <br/> <br/> PARAMS is an array of request parameters. It can either be an associative array of parameter names <br/> and associated values or a numeric array with properly URL-encoded name-value pairs in the form <br/> `NAME=VALUE' <br/> <br/> In the first case the query string is created with PHP's built-in http_build_query() function <br/> ([BUILDQUERY]), in the latter case the name-value pairs are simply concatenated to form the query <br/> string. <br/> <br/> ** postForm(string URL[, array PARAMS[, array HEADERS]]) <br/> <br/> Performs a POST request of regular form data to URL using optional PARAMS and optional <br/> HEADERS. PARAMS is converted to a query string using the same rules as in get() and send inside a <br/> POST request body with a content type of `application/x-www-form-urlencoded'. A content type set in <br/> HEADERS will be overwritten. <br/> <br/> ** post(string URL[, mixed BODY[, array HEADERS]]) <br/> <br/> Performs a POST request of optional BODY to URL using optional HEADERS and returns the repose. <br/> <br/> BODY is casted to string. <br/> <br/> A component using the service SHOULD provide an appropriate Content-Type header for the POST <br/> request body in accordance with [MIMETYPES]. The proxy service does not consider it an error if <br/> the Content-Type header is missing and does not try to set a Content-Type header by itself. <br/> <br/> ** proxify(Zend\Http\Client CLIENT[, array OPTIONS]) <br/> <br/> Add proxy settings to CLIENT with optional OPTIONS. <br/> <br/> CLIENT is an existing Zend HTTP client. The proxify() method replaces the HTTP connection adapter by <br/> a Zend Framework HTTP proxy adapter. OPTIONS is an array of Zend HTTP proxy options that should be <br/> used in addition to the service's proxy configuration. The proxy service proxy configuration is <br/> superior to the ones supplied via OPTIONS. <br/> <br/> * Error handling <br/> <br/> The proxy service uses a marker interface [MARKER INTERFACE] to mark its exception. The proxy <br/> service catches all exceptions from the Zend HTTP client and wraps them in either a proxy service <br/> specific RuntimeException or InvalidArgumentException. The proxy service does not catch or emit any <br/> other exceptions. <br/> <br/> * Configuration <br/> <br/> The proxy service is configured by an PHP array in `conf/proxy.conf.php'. This array MUST contain <br/> the key `proxy' which points to an associative array with proxy configuration and MAY contain a key <br/> `adapter' with the name or an instance of a Zend HTTP client adapter class. <br/> <br/> The `proxy' configuration array has the same semantics as the Zend HTTP proxy adapter <br/> configuration[ZEND ADAPTER]. No proxying is done if the proxy configuration array is empty. <br/> <br/> The class denoted in the `adapter' key is used as the HTTP connection adapter for get(), post(), and <br/> postForm(). <br/> <br/> * Extension points <br/> <br/> The proxy service does not provide any extensions points. <br/> <br/> * Service identifier <br/> <br/> The proxy service registers under the name `Service\Prody' in the web application's top level <br/> service manager. <br/> <br/> * Implementation <br/> <br/> A first implementation of this specification can be found at [VF2 PROXY]. <br/> <br/> * References <br/> <br/> [BUILDQUERY] : <a href="http://php.net/manual/de/function.http-build-query.php">http://php.net/manual/de/function.http-build-query.php</a> <br/> <br/> [MARKER INTERFACE] : Marker interface pattern, <a href="http://en.wikipedia.org/wiki/Marker_interface_pattern">http://en.wikipedia.org/wiki/Marker_interface_pattern</a> <br/> <br/> [MIMETYPES] : MIME Media Types, <a href="http://www.iana.org/assignments/media-types/index.html">http://www.iana.org/assignments/media-types/index.html</a> <br/> <br/> [RFC2119] : Key words for use in RFCs to Indicate Requirement Levels, <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a> <br/> <br/> [VF2 PROXY] : <a href="https://github.com/dmj/vf2-proxy">https://github.com/dmj/vf2-proxy</a> <br/> <br/> [ZEND ADAPTER] : Zend_Http_Client - Connection Adapters, <a href="http://packages.zendframework.com/docs/latest/manual/en/modules/zend.http.client.adapters.html">http://packages.zendframework.com/docs/latest/manual/en/modules/zend.http.client.adapters.html</a> </td> </tr> <tr valign="top"> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:#505050;">Project:</strong> </td> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;"> <a style="color:#326ca6;" href="http://vufind.org/jira/browse/VUFIND">VuFind</a> </td> </tr> <tr valign="top"> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:#505050;">Priority:</strong> </td> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;"> <img src="http://vufind.org/jira/images/icons/priority_major.gif" height="16" width="16" border="0" align="absmiddle" alt="Major"> Major </td> </tr> <tr valign="top"> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:#505050;">Reporter:</strong> </td> <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;"> <a class="user-hover" rel="dmaus" id="email_dmaus" href="http://vufind.org/jira/secure/ViewProfile.jspa?name=dmaus" style="color:#326ca6;">David Maus</a> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td><!-- End #email-page --> </tr> <tr valign="top"> <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;"> This message is automatically generated by JIRA.<br /> If you think it was sent incorrectly, please contact your JIRA administrators<br /> For more information on JIRA, see: <a style='color:#326ca6;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a> </td> </tr> </table><!-- End #email-wrap --> </div><!-- End #email-body --> |