Difference between revisions of "API:EPrints/Apache/AnApache"

From EPrints Documentation
Jump to: navigation, search
Line 18: Line 18:
 
==DESCRIPTION==
 
==DESCRIPTION==
 
This module provides a number of utility methods for interacting with the request object.
 
This module provides a number of utility methods for interacting with the request object.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_constantsfor_backwards_compatibility_use_c_http_constants_instead_of_c_common_constants -->
 +
==CONSTANTSFor backwards compatibility - use <tt>HTTP_</tt> constants instead of <tt>:common</tt> constants.==
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_auth_required -->
 +
===AUTH_REQUIRED===
 +
 +
Maps to <tt>EPrints::Const::HTTP_UNAUTHORIZED</tt>.  Authorization is required  to access the requested resource.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_forbidden -->
 +
===FORBIDDEN ===
 +
 +
Maps to <tt>EPrints::Const::HTTP_FORBIDDEN</tt>.  Access to the requested  resource is forbidden.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_server_error -->
 +
===SERVER_ERROR===
 +
 +
Maps to <tt>EPrints::Const::HTTP_INTERNAL_SERVER_ERROR</tt>.  Requesting the resource has caused an internal server error.
  
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
Line 41: Line 86:
 
Send the HTTP header, if needed.
 
Send the HTTP header, if needed.
  
$request is the current Apache request.  
+
<tt>$request</tt> is the current Apache request.  
  
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
Line 54: Line 99:
  
 
  EPrints::Apache::AnApache::header_out( $request, $header, $value )
 
  EPrints::Apache::AnApache::header_out( $request, $header, $value )
Set a value in the HTTP headers of the response. $request is the apache request object, $header is the name of the header and  $value is the value to give that header.
+
Set a value in the HTTP headers of the response. <tt>$request</tt> is the apache request object, <tt>$header</tt> is the name of the header and  <tt>$value</tt> is the value to give that header.
  
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
Line 108: Line 153:
  
 
  EPrints::Apache::AnApache::upload_doc_file( $session, $document, $paramid );
 
  EPrints::Apache::AnApache::upload_doc_file( $session, $document, $paramid );
Collect a file named $paramid uploaded via HTTP and add it to the  specified $document.
+
Collect a file named $paramid uploaded via HTTP and add it to the  specified <tt>$document</tt>.
  
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
Line 134: Line 179:
  
 
  EPrints::Apache::AnApache::send_status_line( $request, $code, $message )
 
  EPrints::Apache::AnApache::send_status_line( $request, $code, $message )
Send a HTTP status to the client with $code and $message.
+
Send a HTTP status to the client with <tt>$code</tt> and <tt>$message</tt>.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_send_hidden_status_line -->
 +
===send_hidden_status_line===
 +
 
 +
EPrints::Apache::AnApache::send_hidden_status_line( $request, $code )
 +
Send a hidden HTTP status to the client with $code.
 +
 
 +
This is intended for where EPrints already displays a useful error  message but a 200 HTTP status code is otherwise logged.
  
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
Line 149: Line 209:
 
Populates the byte-ranges in $chunks requested by the client.
 
Populates the byte-ranges in $chunks requested by the client.
  
$maxlength is the length, in bytes, of the resource.
+
<tt>$maxlength</tt> is the length, in bytes, of the resource.
  
Returns the appropriate byte-range result code or OK if no "Range" header is set.
+
Returns the appropriate byte-range result code or <tt>OK</tt> if no <tt>Range</tt> header is set.
  
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>

Revision as of 12:07, 15 March 2023

EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects


API: Core API

Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki


NAME

EPrints::Apache::AnApache - Utility methods for talking to mod_perl

User Comments


DESCRIPTION

This module provides a number of utility methods for interacting with the request object.

User Comments


CONSTANTSFor backwards compatibility - use HTTP_ constants instead of :common constants.

User Comments


AUTH_REQUIRED

Maps to EPrints::Const::HTTP_UNAUTHORIZED. Authorization is required to access the requested resource.

User Comments


FORBIDDEN

Maps to EPrints::Const::HTTP_FORBIDDEN. Access to the requested resource is forbidden.

User Comments


SERVER_ERROR

Maps to EPrints::Const::HTTP_INTERNAL_SERVER_ERROR. Requesting the resource has caused an internal server error.

User Comments


METHODS

User Comments


send_http_header

EPrints::Apache::AnApache::send_http_header( $request )

Send the HTTP header, if needed.

$request is the current Apache request.

User Comments


header_out

EPrints::Apache::AnApache::header_out( $request, $header, $value )

Set a value in the HTTP headers of the response. $request is the apache request object, $header is the name of the header and $value is the value to give that header.

User Comments


header_in

$value = EPrints::Apache::AnApache::header_in( $request, $header )

Return the specified HTTP header from the current request.

User Comments


$request

$request = EPrints::Apache::AnApache::get_request

Return the current Apache request object.

User Comments


cookie

$value = EPrints::Apache::AnApache::cookie( $request, $cookieid )

Return the value of the named cookie, or undef if it is not set.

This avoids using CGI, so does not consume the POST data.

User Comments


upload_doc_file

EPrints::Apache::AnApache::upload_doc_file( $session, $document, $paramid );

Collect a file named $paramid uploaded via HTTP and add it to the specified $document.

User Comments


upload_doc_archive

EPrints::Apache::AnApache::upload_doc_archive( $session, $document, $paramid, $archive_format );

Collect an archive file (.ZIP, .tar.gz, etc.) uploaded via HTTP and unpack it then add it to the specified document.

User Comments


send_status_line

EPrints::Apache::AnApache::send_status_line( $request, $code, $message )

Send a HTTP status to the client with $code and $message.

User Comments


send_hidden_status_line

EPrints::Apache::AnApache::send_hidden_status_line( $request, $code )

Send a hidden HTTP status to the client with $code.

This is intended for where EPrints already displays a useful error message but a 200 HTTP status code is otherwise logged.

User Comments


ranges

$rc = EPrints::Apache::AnApache::ranges( $r, $maxlength, $chunks )

Populates the byte-ranges in $chunks requested by the client.

$maxlength is the length, in bytes, of the resource.

Returns the appropriate byte-range result code or OK if no Range header is set.

User Comments


COPYRIGHT

© Copyright 2023 University of Southampton.

EPrints 3.4 is supplied by EPrints Services.

http://www.eprints.org/eprints-3.4/

LICENSE

This file is part of EPrints 3.4 http://www.eprints.org/.

EPrints 3.4 and this file are released under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation unless otherwise stated.

EPrints 3.4 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 Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with EPrints 3.4. If not, see http://www.gnu.org/licenses/.

User Comments