1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7<title>GetHeaderField</title> 8 </head> 9 <body> 10<h1><CODE>nn::http::Connection::GetHeaderField</CODE> Member Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14<a href="../../../nn/Result/Overview.html">nn::Result</a> GetHeaderField( 15 const char * pLabel, 16 char * pFieldBuf, 17 size_t bufSize, 18 size_t * pFieldLengthCourier = NULL 19) const; 20</pre> 21 </div> 22<h2>Arguments</h2> 23 <div class="section"> 24 <table class="arguments"> 25 <thead> 26 <tr> 27 <td width="15" /> 28<th>Name</th> 29<td>Description</td> 30 </tr> 31 </thead> 32 <tr> 33<td>in</td> 34<th>pLabel</th> 35<td>Label name.</td> 36 </tr> 37 <tr> 38<td>out</td> 39<th>pFieldBuf</th> 40<td>Buffer that stores the field value.</td> 41 </tr> 42 <tr> 43<td>in</td> 44<th>bufSize</th> 45<td>Data size of <SPAN class="argument">pFieldBuf</SPAN>.</td> 46 </tr> 47 <tr> 48<td>out</td> 49<th>pFieldLengthCourier</th> 50<td>Buffer that stores the data size of the field value. This argument can be omitted if you don't need the data size of the field value.</td> 51 </tr> </table> 52 </div> 53<h2>Return Values</h2> 54<div class="section">Returns the function's execution result. Returns a <CODE><a href="../../../nn/Result/Overview.html">Result</A></CODE> listed below. <br /> 55 <table class="arguments"> 56 <thead> 57 <tr> 58<th>Value</th> 59<td>Description</td> 60 </tr> 61 </thead> 62 <tr> 63<th><CODE>ResultSuccess</CODE></th> 64<td>Process was successful.</td> 65 </tr> 66 <tr> 67<th>ResultSocketKeepAliveDisconnected</th> 68<td>Error indicating that the server disconnected the keep-alive connection. The HTTP library usually reconnects automatically in such cases, but if set to the <a href="../../../nn/http/Connection/SetLazyPostDataSetting.html"><CODE>SetLazyPostDataSetting</CODE></a> mode, the HTTP library does not automatically reconnect to resend <CODE>POST</CODE> data and instead returns this error. To reconnect, first call the <a href="../../../nn/http/Connection/Overview.html"><CODE>Connection</CODE></a> class's <a href="../../../nn/http/Connection/Finalize.html"><CODE>Finalize</CODE></a> function, and then call <a href="../../../nn/http/Connection/Initialize.html"><CODE>Initialize</CODE></a> again.</td> 69 </tr> 70 <tr> 71<th>ResultRequestHeaderErr</th> 72<td>Error indicating that an invalid HTTP header was received.</td> 73 </tr> 74 <tr> 75<th>ResultSocketSendErr</th> 76<td>Error indicating failure to send socket data. This could be because the server disconnected. To reconnect, first call the <a href="../../../nn/http/Connection/Overview.html"><CODE>Connection</CODE></a> class's <a href="../../../nn/http/Connection/Finalize.html"><CODE>Finalize</CODE></a> function, and then call <a href="../../../nn/http/Connection/Initialize.html"><CODE>Initialize</CODE></a> again.</td> 77 </tr> 78 <tr> 79<th>ResultSocketReceiveErr</th> 80<td>Error indicating failure to receive socket data. This could be because the server disconnected. To reconnect, first call the <a href="../../../nn/http/Connection/Overview.html"><CODE>Connection</CODE></a> class's <a href="../../../nn/http/Connection/Finalize.html"><CODE>Finalize</CODE></a> function, and then call <a href="../../../nn/http/Connection/Initialize.html"><CODE>Initialize</CODE></a> again.</td> 81 </tr> 82 <tr> 83<th>ResultSocketConnectErr</th> 84<td>Error indicating failure to connect to socket. This could be because the server does not exist or is not running. To reconnect, first call the <a href="../../../nn/http/Connection/Overview.html"><CODE>Connection</CODE></a> class's <a href="../../../nn/http/Connection/Finalize.html"><CODE>Finalize</CODE></a> function, and then call <a href="../../../nn/http/Connection/Initialize.html"><CODE>Initialize</CODE></a> again.</td> 85 </tr> 86 <tr> 87<th>ResultDnsResolutionErr</th> 88<td>Error indicating that name resolution failed for the host name specified in the URL.</td> 89 </tr> 90 <tr> 91<th>ResultConnectionCanceledErr</th> 92<td>Error indicating that the connection was canceled. To reconnect, first call the <a href="../../../nn/http/Connection/Overview.html"><CODE>Connection</CODE></a> class's <a href="../../../nn/http/Connection/Finalize.html"><CODE>Finalize</CODE></a> function, and then call <a href="../../../nn/http/Connection/Initialize.html"><CODE>Initialize</CODE></a> again.</td> 93 </tr> 94 <tr> 95<th>ResultInvalidParamErr</th> 96<td>Error indicating an invalid parameter. Specify valid values for all parameters and call this function again.</td> 97 </tr> 98 <tr> 99<th>ResultNotConnectedErr</th> 100<td>Error indicating a <CODE>Connection</CODE> class instance for which the target URL is not assigned. The function has not done anything as it has been called on a <CODE>Connection</CODE> instance for which you have not yet successfully called <a href="../../../nn/http/Connection/Initialize.html"><CODE>Initialize</CODE></a>.</td> 101 </tr> 102 <tr> 103<th>ResultNotInitializedErr</th> 104<td>Error indicating that the library is not initialized. None of this library's functions can be used until you first call <a href="../../../nn/http/Initialize.html"><CODE>nn::http::Initialize</CODE></a>.</td> 105 </tr> 106 <tr> 107<th>A value other than the above.</th> 108<td>Unexpected error (See <CODE>http_Result.h</CODE> for details).</td> 109 </tr> 110 </table> </div> 111<h2>Description</h2> 112 <div class="section"> 113<p>Gets the field value that matches the specified label. This field value is obtained from the message header of the HTTP response that was received.</p><p>This function blocks until the header is completely received. The receive operation completes if the following conditions are met.<br />・ All header data has been received.<br />・ The operation was cancelled.<br />・ A communication error occurred (for example, DNS name resolution failed).<br />If the header was already completely received by another function, this function will return the response immediately.<br /><br /><BR><B>Note:</B> If the <SPAN class="argument">pFieldBuf</SPAN> size is smaller than the field value size, as much data is stored in <SPAN class="argument">pFieldBuf</SPAN> as will fit, and the field value size is stored in <SPAN class="argument">pFieldLengthCourier</SPAN>.<br /><BR><B>Note:</B> If <SPAN class="argument">pFieldBuf</SPAN><CODE>==NULL</CODE> or <SPAN class="argument">bufSize</SPAN><CODE>==0</CODE>, and if <SPAN class="argument">pFieldLengthCourier</SPAN><CODE>!=NULL</CODE>, the field length is stored in <SPAN class="argument">pFieldLengthCourier</SPAN>.<br /><BR><B>Note:</B> Unlike the version of <CODE><a href="../../../nn/http/Connection/GetHeaderField.html">GetHeaderField</a></CODE> that includes a timeout, this function does not time out. In other words, control will not return from this function until processing has ended. In environments where communications are slow you can expect a long time to pass before processing ends and control returns from this function.<br /></p><!-- write here --></div> 114<h2>Revision History</h2> 115 <div class="section"> 116 <dl class="history"> 117 <dt>2010/06/14</dt> 118<dd>Initial version.<br /> 119 </dd> 120 </dl> 121 </div> 122 <hr><p>CONFIDENTIAL</p></body> 123</html>