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
21<a href="../../../nn/Result/Overview.html">nn::Result</a> GetHeaderField(
22     const char * pLabel,
23     char * pFieldBuf,
24     size_t bufSize,
25     const <a href="../../../nn/fnd/TimeSpan/Overview.html">nn::fnd::TimeSpan</a> & timeout,
26     size_t * pFieldLengthCourier = NULL
27) const;
28</pre>
29    </div>
30<h2>List of Overloaded Member Functions</h2>
31    <div class="section">
32      <table class="members">
33        <tr>
34          <td>
35<a href="./GetHeaderField(0).html"><CODE>GetHeaderField(const char *, char *, size_t, size_t *)</CODE> </a>
36          </td>
37<td>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.</td>
38        </tr>
39        <tr>
40          <td>
41<a href="./GetHeaderField(1).html"><CODE>GetHeaderField(const char *, char *, size_t, const nn::fnd::TimeSpan &, size_t *)</CODE> </a>
42          </td>
43<td>This version of <a href="../../../nn/http/Connection/GetHeaderField.html"><CODE>GetHeaderField</CODE></a> has a timeout.</td>
44        </tr> </table>
45    </div>
46<h2>Description of <CODE>GetHeaderField(const char *, char *, size_t, size_t *)</CODE></h2>
47<div class="section"><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>
48<h2>Description of <CODE>GetHeaderField(const char *, char *, size_t, const nn::fnd::TimeSpan &, size_t *)</CODE></h2>
49<div class="section"><p>Other than allowing the user to specify a timeout, this version functions identically to <a href="../../../nn/http/Connection/GetHeaderField.html"><CODE>GetHeaderField</CODE></a>. For feature details, see the function reference for the version without a timeout. Returns <a href="../../../nn/http/ResultTimeout/Overview.html"><CODE>ResultTimeout</CODE></a> if no HTTP response header has been fully received within the timeout period. If <CODE>ResultTimeout</CODE> is returned, the connection is automatically canceled. (In other words, the function internally implements <a href="../../../nn/http/Connection/Cancel.html"><CODE>Cancel</CODE></a>.)<br /></p><!-- write here --></div>
50  <hr><p>CONFIDENTIAL</p></body>
51</html>