<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<appendix xml:id="oauth.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 &reftitle.constants;
 &extension.constants;
 <para>
  Most of these constants involve problems, which are also described within the official
  OAuth <link xlink:href="&url.oauth.problemreporting;">Problem Reporting</link>
  documentation. Note however, that these constant names are specific to PHP, although
  the naming scheme is similar.
 </para>
 <para>
  <variablelist>
   <!-- TODO: Ensure each constant mentions the exact oauth API name/value pair. -->
   <varlistentry xml:id="constant.oauth-sig-method-rsasha1">
    <term>
     <constant>OAUTH_SIG_METHOD_RSASHA1</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <simpara>
      OAuth <emphasis>RSA-SHA1</emphasis> signature method.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-sig-method-hmacsha1">
    <term>
     <constant>OAUTH_SIG_METHOD_HMACSHA1</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      OAuth <emphasis>HMAC-SHA1</emphasis> signature method.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-sig-method-hmacsha256">
    <term>
     <constant>OAUTH_SIG_METHOD_HMACSHA256</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <simpara>
      OAuth <emphasis>HMAC-SHA256</emphasis> signature method.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-auth-type-authorization">
    <term>
     <constant>OAUTH_AUTH_TYPE_AUTHORIZATION</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      This constant represents putting OAuth parameters in the
      <literal>Authorization</literal> header.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-auth-type-none">
    <term>
     <constant>OAUTH_AUTH_TYPE_NONE</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      This constant indicates a NoAuth OAuth request.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-auth-type-uri">
    <term>
     <constant>OAUTH_AUTH_TYPE_URI</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      This constant represents putting OAuth parameters in the request
      <acronym>URI</acronym>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-auth-type-form">
    <term>
     <constant>OAUTH_AUTH_TYPE_FORM</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      This constant represents putting OAuth parameters as part of the
      HTTP POST body.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-http-method-get">
    <term>
     <constant>OAUTH_HTTP_METHOD_GET</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      Use the <emphasis>GET</emphasis> method for the OAuth request.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-http-method-post">
    <term>
     <constant>OAUTH_HTTP_METHOD_POST</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      Use the <emphasis>POST</emphasis> method for the OAuth request.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-http-method-put">
    <term>
     <constant>OAUTH_HTTP_METHOD_PUT</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      Use the <emphasis>PUT</emphasis> method for the OAuth request.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-http-method-head">
    <term>
     <constant>OAUTH_HTTP_METHOD_HEAD</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <para>
      Use the <emphasis>HEAD</emphasis> method for the OAuth request.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-http-method-delete">
    <term>
     <constant>OAUTH_HTTP_METHOD_DELETE</constant>
     (<type>string</type>)
    </term>
    <listitem>
     <simpara>
      Use the <emphasis>DELETE</emphasis> method for the OAuth request.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-reqengine-streams">
    <term>
     <constant>OAUTH_REQENGINE_STREAMS</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      Used by <methodname>OAuth::setRequestEngine</methodname> to set the engine to 
      <link linkend="book.stream">PHP streams</link>,
      as opposed to <constant>OAUTH_REQENGINE_CURL</constant> for 
      <link linkend="book.curl">Curl</link>.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-reqengine-curl">
    <term>
     <constant>OAUTH_REQENGINE_CURL</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      Used by <methodname>OAuth::setRequestEngine</methodname> to set the engine to 
      <link linkend="book.curl">Curl</link>, as opposed to 
      <constant>OAUTH_REQENGINE_STREAMS</constant> for <link linkend="book.stream">PHP streams</link>.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-ok">
    <term>
     <constant>OAUTH_OK</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      Life is good.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-bad-nonce">
    <term>
     <constant>OAUTH_BAD_NONCE</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
       The <emphasis>oauth_nonce</emphasis> value was used in a previous request,
       therefore it cannot be used now.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-bad-timestamp">
    <term>
     <constant>OAUTH_BAD_TIMESTAMP</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
       The <emphasis>oauth_timestamp</emphasis> value was not accepted by the service provider. In
       this case, the response should also contain the <emphasis>oauth_acceptable_timestamps</emphasis>
       parameter.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-consumer-key-unknown">
    <term>
     <constant>OAUTH_CONSUMER_KEY_UNKNOWN</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The <emphasis>oauth_consumer_key</emphasis> is temporarily unacceptable to the service provider.
      For example, the service provider may be throttling the consumer.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-consumer-key-refused">
    <term>
     <constant>OAUTH_CONSUMER_KEY_REFUSED</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The consumer key was refused.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-invalid-signature">
    <term>
     <constant>OAUTH_INVALID_SIGNATURE</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
       The <emphasis>oauth_signature</emphasis> is invalid, as it does not match the
       signature computed by the service provider.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-token-used">
    <term>
     <constant>OAUTH_TOKEN_USED</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The <emphasis>oauth_token</emphasis> has been consumed. It can no longer be
      used because it has already been used in the previous request(s).
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-token-expired">
    <term>
     <constant>OAUTH_TOKEN_EXPIRED</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The <emphasis>oauth_token</emphasis> has expired. 
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-token-revoked">
    <term>
     <constant>OAUTH_TOKEN_REVOKED</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The <emphasis>oauth_token</emphasis> has been revoked, and will never be accepted.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-token-rejected">
    <term>
     <constant>OAUTH_TOKEN_REJECTED</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The <emphasis>oauth_token</emphasis> was not accepted by the service provider.
      The reason is not known, but it might be because the token was never issued,
      already consumed, expired, and/or forgotten by the service provider.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-verifier-invalid">
    <term>
     <constant>OAUTH_VERIFIER_INVALID</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The <emphasis>oauth_verifier</emphasis> is incorrect.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-parameter-absent">
    <term>
     <constant>OAUTH_PARAMETER_ABSENT</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      A required parameter was not received. In this case, the response should also
      contain the <emphasis>oauth_parameters_absent</emphasis> parameter.
     </simpara>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="constant.oauth-signature-method-rejected">
    <term>
     <constant>OAUTH_SIGNATURE_METHOD_REJECTED</constant>
     (<type>int</type>)
    </term>
    <listitem>
     <simpara>
      The <emphasis>oauth_signature_method</emphasis> was not accepted by service provider.
     </simpara>
    </listitem>
   </varlistentry>
  </variablelist>
 </para>
</appendix>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

