Revision 822d7fa2 src/http.cc
src/http.cc | ||
---|---|---|
44 | 44 |
|
45 | 45 |
#define INVALID_STATE_ERR 1 |
46 | 46 |
|
47 |
class Server { |
|
47 |
class HttpServer {
|
|
48 | 48 |
public: |
49 |
Server (Handle<Object> _js_server); |
|
50 |
~Server (); |
|
49 |
HttpServer (Handle<Object> _js_server);
|
|
50 |
~HttpServer ();
|
|
51 | 51 |
|
52 | 52 |
int Start(struct addrinfo *servinfo); |
53 | 53 |
void Stop(); |
... | ... | |
83 | 83 |
ebb_request_parser parser; |
84 | 84 |
list<HttpRequest*> requests; |
85 | 85 |
list<HttpRequest*> finished_requests; |
86 |
friend class Server; |
|
86 |
friend class HttpServer;
|
|
87 | 87 |
}; |
88 | 88 |
|
89 | 89 |
class HttpRequest { |
... | ... | |
461 | 461 |
{ |
462 | 462 |
HandleScope scope; |
463 | 463 |
|
464 |
Server *server = static_cast<Server*> (_server->data);
|
|
464 |
HttpServer *server = static_cast<HttpServer*> (_server->data);
|
|
465 | 465 |
|
466 | 466 |
Handle<Value> callback_v = server->Callback(); |
467 | 467 |
|
... | ... | |
560 | 560 |
static void |
561 | 561 |
server_destroy (Persistent<Value> _, void *data) |
562 | 562 |
{ |
563 |
Server *server = static_cast<Server *> (data);
|
|
563 |
HttpServer *server = static_cast<HttpServer *> (data);
|
|
564 | 564 |
delete server; |
565 | 565 |
} |
566 | 566 |
|
567 |
Server::Server (Handle<Object> _js_server)
|
|
567 |
HttpServer::HttpServer (Handle<Object> _js_server)
|
|
568 | 568 |
{ |
569 | 569 |
oi_server_init(&server, 1024); |
570 | 570 |
server.on_connection = on_connection; |
... | ... | |
576 | 576 |
js_server.MakeWeak (this, server_destroy); |
577 | 577 |
} |
578 | 578 |
|
579 |
Server::~Server ()
|
|
579 |
HttpServer::~HttpServer ()
|
|
580 | 580 |
{ |
581 | 581 |
Stop(); |
582 | 582 |
js_server.Dispose(); |
... | ... | |
584 | 584 |
} |
585 | 585 |
|
586 | 586 |
int |
587 |
Server::Start(struct addrinfo *servinfo) |
|
587 |
HttpServer::Start(struct addrinfo *servinfo)
|
|
588 | 588 |
{ |
589 | 589 |
int r = oi_server_listen(&server, servinfo); |
590 | 590 |
if(r == 0) |
... | ... | |
593 | 593 |
} |
594 | 594 |
|
595 | 595 |
void |
596 |
Server::Stop() |
|
596 |
HttpServer::Stop()
|
|
597 | 597 |
{ |
598 | 598 |
oi_server_close (&server); |
599 | 599 |
oi_server_detach (&server); |
... | ... | |
601 | 601 |
|
602 | 602 |
/* This constructor takes 2 arguments: host, port. */ |
603 | 603 |
static Handle<Value> |
604 |
newHTTPServer (const Arguments& args) |
|
604 |
newHTTPHttpServer (const Arguments& args)
|
|
605 | 605 |
{ |
606 | 606 |
if (args.Length() < 3) |
607 | 607 |
return Undefined(); |
... | ... | |
639 | 639 |
// |
640 | 640 |
// |
641 | 641 |
|
642 |
Server *server = new Server(args.This());
|
|
642 |
HttpServer *server = new HttpServer(args.This());
|
|
643 | 643 |
if(server == NULL) |
644 | 644 |
return Undefined(); // XXX raise error? |
645 | 645 |
|
... | ... | |
655 | 655 |
{ |
656 | 656 |
HandleScope scope; |
657 | 657 |
|
658 |
Local<FunctionTemplate> server_t = FunctionTemplate::New(newHTTPServer); |
|
658 |
Local<FunctionTemplate> server_t = FunctionTemplate::New(newHTTPHttpServer);
|
|
659 | 659 |
server_t->InstanceTemplate()->SetInternalFieldCount(1); |
660 | 660 |
|
661 | 661 |
server_t->Set("INVALID_STATE_ERR", Integer::New(INVALID_STATE_ERR)); |
Also available in: Unified diff