add some information about http request objects

This commit is contained in:
Ryan 2009-03-05 14:45:11 +01:00
Родитель db618cb708
Коммит ea728d35ef
2 изменённых файлов: 28 добавлений и 2 удалений

Просмотреть файл

@ -19,6 +19,7 @@ static Persistent<String> query_string_str;
static Persistent<String> fragment_str; static Persistent<String> fragment_str;
static Persistent<String> method_str; static Persistent<String> method_str;
static Persistent<String> http_version_str; static Persistent<String> http_version_str;
static Persistent<String> headers_str;
static Persistent<String> on_request_str; static Persistent<String> on_request_str;
static Persistent<String> on_body_str; static Persistent<String> on_body_str;
@ -416,8 +417,7 @@ HttpRequest::CreateJSObject ()
field_iterator++; field_iterator++;
value_iterator++; value_iterator++;
} }
result->Set(String::NewSymbol("headers"), headers); result->Set(headers_str, headers);
js_object = Persistent<Object>::New(result); js_object = Persistent<Object>::New(result);
@ -555,6 +555,7 @@ Init_http (Handle<Object> target)
fragment_str = Persistent<String>::New( String::NewSymbol("fragment") ); fragment_str = Persistent<String>::New( String::NewSymbol("fragment") );
method_str = Persistent<String>::New( String::NewSymbol("method") ); method_str = Persistent<String>::New( String::NewSymbol("method") );
http_version_str = Persistent<String>::New( String::NewSymbol("http_version") ); http_version_str = Persistent<String>::New( String::NewSymbol("http_version") );
headers_str = Persistent<String>::New( String::NewSymbol("headers") );
on_request_str = Persistent<String>::New( String::NewSymbol("onRequest") ); on_request_str = Persistent<String>::New( String::NewSymbol("onRequest") );
on_body_str = Persistent<String>::New( String::NewSymbol("onBody") ); on_body_str = Persistent<String>::New( String::NewSymbol("onBody") );

Просмотреть файл

@ -47,6 +47,9 @@
<li><a href="index.html#execution-context"><span class=secno>1.2 </span>Execution context</a> <li><a href="index.html#execution-context"><span class=secno>1.2 </span>Execution context</a>
</ul> </ul>
<li><a href="index.html#http_server"><span class=secno>2 </span>HTTP Server</a> <li><a href="index.html#http_server"><span class=secno>2 </span>HTTP Server</a>
<ul class=toc>
<li><a href="index.html#http_request"><span class=secno>2.1 </span>Request object</a>
</ul>
<li><a href="index.html#tcp_client"><span class=secno>3 </span>TCP Client</a> <li><a href="index.html#tcp_client"><span class=secno>3 </span>TCP Client</a>
<li><a href="index.html#timers"><span class=secno>4 </span>Timers</a> <li><a href="index.html#timers"><span class=secno>4 </span>Timers</a>
</ul> </ul>
@ -96,6 +99,28 @@ interface <dfn id=httpserver>HTTPServer</dfn> {
void close(); // yet not implemented void close(); // yet not implemented
};</pre> };</pre>
<h3 id=http_request><span class=secno>2.1 </span>Request object</h3>
<pre class=idl>interface <dfn id=httprequest>HTTPRequest</dfn> {
readonly attribute String <a href="index.html#path">path</a>;
readonly attribute String <a href="index.html#uri">uri</a>;
readonly attribute String <a href="index.html#query_string">query_string</a>;
readonly attribute String <a href="index.html#fragment">fragment</a>;
readonly attribute String <a href="index.html#method">method</a>;
readonly attribute String <a href="index.html#http_version">http_version</a>;
readonly attribute Object <a href="index.html#headers">headers</a>;
attribute Function <a href="index.html#onBody">onBody</a>;
void respond(in String data);
};</pre>
<p> A request object is what is passed to <code>HTTPServer.onRequest</code>.
it represents a single HTTP request. Clients might preform HTTP
pipelining (Keep-Alive) and send multiple requests per TCP
connection&mdash;this does not affect this interface.
<h2 id=tcp_client><span class=secno>3 </span>TCP Client</h2> <h2 id=tcp_client><span class=secno>3 </span>TCP Client</h2>
<pre class=idl>[Constructor(in String host, in String port)] <pre class=idl>[Constructor(in String host, in String port)]
interface <dfn id=tcpclient>TCPClient</dfn> { interface <dfn id=tcpclient>TCPClient</dfn> {