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><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/http/Overview.html">http</a>::<a href="../../../nn/http/Connection/Overview.html">Connection</a>::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 one of the <a href="../../../nn/Result/Overview.html"><CODE>Result</CODE></a> values listed below.<br /><br /> <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>Result::IsSuccess</CODE></th> 64<td>Process was successful.</td> 65 </tr> 66 <tr> 67<th><CODE>ResultSocketKeepAliveDisconnected</CODE></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> object'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><CODE>ResultRequestHeaderErr</CODE></th> 72<td>Error indicating that an invalid HTTP header was received.</td> 73 </tr> 74 <tr> 75<th><CODE>ResultSocketSendErr</CODE></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> object'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><CODE>ResultSocketReceiveErr</CODE></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> object'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><CODE>ResultSocketConnectErr</CODE></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> object'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><CODE>ResultDnsResolutionErr</CODE></th> 88<td>Error indicating that name resolution failed for the host name specified in the URL.</td> 89 </tr> 90 <tr> 91<th><CODE>ResultConnectionCanceledErr</CODE></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> object'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><CODE>ResultSslErr</CODE></th> 96<td>Error indicating that SSL processing (such as an SSL handshake) failed. You can use the <a href="../../../nn/http/Connection/GetSslError.html"><CODE>GetSslError</CODE></a> function to get more detailed error information. To reconnect, first call the <a href="../../../nn/http/Connection/Overview.html"><CODE>Connection</CODE></a> object'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> 97 </tr> 98 <tr> 99<th><CODE>ResultInvalidParamErr</CODE></th> 100<td>Error indicating an invalid parameter. Specify valid values for all parameters and call this function again.</td> 101 </tr> 102 <tr> 103<th><CODE>ResultNotConnectedErr</CODE></th> 104<td>Error indicating that no target URL was assigned to the <CODE>Connection</CODE> object. No action is performed because the <CODE>Connection</CODE> object has not been initialized by a successful call of <a href="../../../nn/http/Connection/Initialize.html"><CODE>Initialize</CODE></a>.</td> 105 </tr> 106 <tr> 107<th><CODE>ResultNotInitializedErr</CODE></th> 108<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> 109 </tr> 110 <tr> 111<th>A value other than the above.</th> 112<td>Unexpected error. (See <CODE>http_Result.h</CODE> for details.)</td> 113 </tr> 114 </table> </div> 115<h2>Description</h2> 116 <div class="section"> 117<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> 118<h2>Revision History</h2> 119 <div class="section"> 120 <dl class="history"> 121 <dt>2010/06/14</dt> 122<dd>Initial version.<br /> 123 </dd> 124 </dl> 125 </div> 126 <hr><p>CONFIDENTIAL</p></body> 127</html> 128