Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
55
Src/replicant/jnetlib/httpuserv.h
Normal file
55
Src/replicant/jnetlib/httpuserv.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
** JNetLib
|
||||
** Copyright (C) 2012 Nullsoft, Inc.
|
||||
** Author: Ben Allison
|
||||
** File: httpuserv.h - JNL interface for doing HTTPU (HTTP over UDP)
|
||||
** This is half-baked so far. Need to think things through a touch more
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "udpconnection.h"
|
||||
#include "headers.h"
|
||||
|
||||
class JNL_HTTPUServ
|
||||
{
|
||||
public:
|
||||
JNL_HTTPUServ();
|
||||
~JNL_HTTPUServ();
|
||||
|
||||
// pass this a connection that has just received a packet
|
||||
int process( JNL_UDPConnection *m_con );
|
||||
|
||||
const char *geterrorstr() { return m_errstr; }
|
||||
|
||||
// use these when state returned by run() is 2
|
||||
const char *get_request_uri(); // file portion of http request
|
||||
const char *get_request_parm( const char *parmname ); // parameter portion (after ?)
|
||||
const char *getallheaders() { return recvheaders.GetAllHeaders(); } // double null terminated, null delimited list
|
||||
const char *getheader( const char *headername );
|
||||
const char *get_method() { return m_method; }
|
||||
|
||||
void set_reply_string( const char *reply_string ); // should be HTTP/1.1 OK or the like
|
||||
void set_reply_header( const char *header ); // i.e. "content-size: 12345"
|
||||
|
||||
void send_reply( JNL_UDPConnection *m_con ); // sends a reply to the given UDP socket. it must have been setup beforehand with the appropriate peer
|
||||
|
||||
void reset(); // prepare for another request
|
||||
|
||||
int get_http_version() { return http_ver; }
|
||||
|
||||
protected:
|
||||
void seterrstr( const char *str ) { if ( m_errstr ) free( m_errstr ); m_errstr = _strdup( str ); }
|
||||
|
||||
int m_reply_ready;
|
||||
int http_ver;
|
||||
|
||||
char *m_errstr;
|
||||
char *m_reply_headers;
|
||||
char *m_reply_string;
|
||||
JNL_Headers recvheaders;
|
||||
char *m_recv_request; // either double-null terminated, or may contain parameters after first null.
|
||||
char *m_method;
|
||||
};
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue