Overview
Comment: | OFHTTPServer: Pass errors from listening socket.
This way, it is possible to recover from errors by e.g. stopping the |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
df7b88405ad80d6b9eb0e791b6f2b87f |
User & Date: | js on 2012-12-27 11:21:43 |
Other Links: | manifest | tags |
Context
2012-12-28
| ||
02:46 | Make 16 bit selector UIDs the default. check-in: 511a372fb8 user: js tags: trunk | |
2012-12-27
| ||
11:21 | OFHTTPServer: Pass errors from listening socket. check-in: df7b88405a user: js tags: trunk | |
11:20 | OFStreamObserver_kqueue: Return NO on error. check-in: e5157b2ba2 user: js tags: trunk | |
Changes
Modified src/OFHTTPServer.h from [e4f4f862dd] to [0320d9c75b].
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | * * @param server The HTTP server which received the request * @param request The request the HTTP server received * @return The reply the HTTP server should send to the client */ - (OFHTTPRequestReply*)server: (OFHTTPServer*)server didReceiveRequest: (OFHTTPRequest*)request; @end /*! * @brief A class for creating a simple HTTP server inside of applications. */ @interface OFHTTPServer: OFObject { | > > > > > > > > > > > > > > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | * * @param server The HTTP server which received the request * @param request The request the HTTP server received * @return The reply the HTTP server should send to the client */ - (OFHTTPRequestReply*)server: (OFHTTPServer*)server didReceiveRequest: (OFHTTPRequest*)request; #ifdef OF_HAVE_OPTIONAL_PROTOCOLS @optional #endif /*! * @brief This method is called when the HTTP server's listening socket * encountered an exception. * * @param exception The exception that occurred on the HTTP server's listening * socket * @return Whether to continue listening. If you return NO, existing connections * will still be handled and you can start accepting new connections * again by calling @ref start again. */ - (BOOL)server: (OFHTTPServer*)server didReceiveExceptionOnListeningSocket: (OFException*)e; @end /*! * @brief A class for creating a simple HTTP server inside of applications. */ @interface OFHTTPServer: OFObject { |
︙ | ︙ | |||
132 133 134 135 136 137 138 | */ - (void)stop; - (BOOL)OF_socket: (OFTCPSocket*)socket didAcceptSocket: (OFTCPSocket*)clientSocket exception: (OFException*)exception; @end | > > > | 148 149 150 151 152 153 154 155 156 157 | */ - (void)stop; - (BOOL)OF_socket: (OFTCPSocket*)socket didAcceptSocket: (OFTCPSocket*)clientSocket exception: (OFException*)exception; @end @interface OFObject (OFHTTPServerDelegate) <OFHTTPServerDelegate> @end |
Modified src/OFHTTPServer.m from [80903ac435] to [f75ba40071].
︙ | ︙ | |||
640 641 642 643 644 645 646 | - (BOOL)OF_socket: (OFTCPSocket*)socket didAcceptSocket: (OFTCPSocket*)clientSocket exception: (OFException*)exception { OFHTTPServer_Connection *connection; | | > > > > > > | 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 | - (BOOL)OF_socket: (OFTCPSocket*)socket didAcceptSocket: (OFTCPSocket*)clientSocket exception: (OFException*)exception { OFHTTPServer_Connection *connection; if (exception != nil) { if ([delegate respondsToSelector: @selector(server:didReceiveExceptionOnListeningSocket:)]) return [delegate server: self didReceiveExceptionOnListeningSocket: exception]; return NO; } connection = [[[OFHTTPServer_Connection alloc] initWithSocket: clientSocket server: self] autorelease]; [clientSocket asyncReadLineWithTarget: connection selector: @selector(socket:didReadLine: |
︙ | ︙ |