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