File nut/pro/httpd.c


Included Files


Preprocessor definitions

#define HTTP_MAJOR_VERSION 1

#define HTTP_MINOR_VERSION 1

#define HTTP_KEEP_ALIVE_REQ 0

#define HTTP_MAX_REQUEST_SIZE 256

#define HTTP_FILE_CHUNK_SIZE 512


Global Variable mimeTypes

MIMETYPES mimeTypes[]
Visible in:   nut/pro/httpd.c
Used in: GetMimeEntry() nut/pro/httpd.c

Local Variables

http_optflags
static uint32_t http_optflags
Used in: NutHttpGetOptionFlags()  
  NutHttpProcessFileRequest()  
  NutHttpSendHeaderTop()  
  NutHttpSetOptionFlags()  

Global Function NutGetMimeHandler()

void* NutGetMimeHandler ( char* name )
Prototyped in: nut/include/pro/httpd.h
Calls: GetMimeEntry() nut/pro/httpd.c
Called by: NutHttpProcessFileRequest() nut/pro/httpd.c

Global Function NutGetMimeType()

char* NutGetMimeType ( char* name )
Prototyped in: nut/include/pro/httpd.h
Calls: GetMimeEntry() nut/pro/httpd.c
Called by: NutHttpProcessFileRequest() nut/pro/httpd.c

Global Function NutHttpGetOptionFlags()

uint32_t NutHttpGetOptionFlags ( void )
Prototyped in: nut/include/pro/httpd.h
References Variables: http_optflags nut/pro/httpd.c

Global Function NutHttpProcessQueryString()

void NutHttpProcessQueryString ( REQUEST* req )
Prototyped in: nut/include/pro/httpd.h
Calls: NutHttpURLDecode() nut/pro/httpd.c
  malloc() nut/crt/malloc.c
Called by: NutHttpProcessRequest() nut/pro/httpd.c

Global Function NutHttpProcessRequest()

void NutHttpProcessRequest ( FILE* stream )
Prototyped in: nut/include/pro/httpd.h
Calls: CreateRequestInfo() nut/pro/httpd.c
  HeaderFieldValue() nut/pro/httpd.c
  NextWord() nut/pro/httpd.c
  NutDecodePath() nut/pro/dencode.c
  NutHttpProcessFileRequest() nut/pro/httpd.c
  NutHttpProcessQueryString() nut/pro/httpd.c
  NutHttpSendError() nut/pro/httpd.c
  atol() nut/c/stdlib/atol.c
  fflush() nut/crt/fflush.c
  fgets() nut/crt/fgets.c
  free() nut/crt/malloc.c
  malloc() nut/crt/malloc.c
  strchr() nut/c/string/strchr.c
  strdup() nut/crt/strdup.c
  DestroyRequestInfo(), RfcTimeParse(), strcasecmp(), strncasecmp()

Global Function NutHttpSendError()

void NutHttpSendError ( FILE* stream, REQUEST* req, int status )
Prototyped in: nut/include/pro/httpd.h
Calls: NutHttpSendHeaderBottom() nut/pro/httpd.c
  NutHttpSendHeaderTop() nut/pro/httpd.c
  fprintf_P() nut/crt/fprintf_p.c
  strrchr() nut/c/string/strrchr.c
Called by: NutCgiProcessRequest() nut/pro/cgi.c
  NutHttpProcessFileRequest() nut/pro/httpd.c
  NutHttpProcessRequest() nut/pro/httpd.c

Global Function NutHttpSendHeaderBot()

void NutHttpSendHeaderBot ( FILE* stream, char* mime_type, long bytes )
Prototyped in: nut/include/pro/httpd.h
Calls: NutHttpSendHeaderBottom() nut/pro/httpd.c

Global Function NutHttpSendHeaderBottom()

void NutHttpSendHeaderBottom ( FILE* stream, REQUEST* req, char* mime_type, long bytes )
Prototyped in: nut/include/pro/httpd.h
Calls: fprintf_P() nut/crt/fprintf_p.c
  fputs_P() nut/crt/fputs_p.c
Called by: NutHttpProcessFileRequest() nut/pro/httpd.c
  NutHttpSendError() nut/pro/httpd.c
  NutHttpSendHeaderBot() nut/pro/httpd.c

Global Function NutHttpSendHeaderTop()

void NutHttpSendHeaderTop ( FILE* stream, REQUEST* req, int status, char* title )
Prototyped in: nut/include/pro/httpd.h
Calls: NutVersionString() nut/os/version.c
  fprintf() nut/crt/fprintf.c
  fprintf_P() nut/crt/fprintf_p.c
  gmtime() nut/crt/gmtime.c
  time() nut/crt/time.c
  Rfc1123TimeString()
Called by: NutHttpProcessFileRequest() nut/pro/httpd.c
  NutHttpSendError() nut/pro/httpd.c
References Variables: http_optflags nut/pro/httpd.c

Global Function NutHttpSetOptionFlags()

void NutHttpSetOptionFlags ( uint32_t flags )
Prototyped in: nut/include/pro/httpd.h
References Variables: http_optflags nut/pro/httpd.c

Global Function NutHttpURLDecode()

void NutHttpURLDecode ( char* str )
Prototyped in: nut/include/pro/httpd.h
Calls: strtol() nut/c/stdlib/strtol.c
Called by: NutHttpProcessQueryString() nut/pro/httpd.c

Global Function NutRegisterHttpRoot()

int NutRegisterHttpRoot ( char* path )
Prototyped in: nut/include/pro/httpd.h
Calls: free() nut/crt/malloc.c
  malloc() nut/crt/malloc.c
  strcpy() nut/c/string/strcpy.c
  strlen() nut/c/string/strlen.c
References Variables: http_root

Local Function CreateRequestInfo()

static REQUEST* CreateRequestInfo ( void )
Calls: calloc() nut/crt/calloc.c
Called by: NutHttpProcessRequest() nut/pro/httpd.c

Local Function GetMimeEntry()

static MIMETYPES* GetMimeEntry ( char* name )
Calls: strlen() nut/c/string/strlen.c
  strcasecmp()
Called by: NutGetMimeHandler() nut/pro/httpd.c
  NutGetMimeType() nut/pro/httpd.c
References Variables: mimeTypes nut/pro/httpd.c

Local Function HeaderFieldValue()

static int HeaderFieldValue ( char** hfvp, const char* str )
Calls: strdup() nut/crt/strdup.c
Called by: NutHttpProcessRequest() nut/pro/httpd.c

Local Function NextWord()

static char* NextWord ( char* str )
Called by: NutHttpProcessRequest() nut/pro/httpd.c

Local Function NutHttpProcessFileRequest()

static void NutHttpProcessFileRequest ( FILE* stream, REQUEST* req )
Calls: NutCgiCheckRequest() nut/pro/cgi.c
  NutGetMimeHandler() nut/pro/httpd.c
  NutGetMimeType() nut/pro/httpd.c
  NutHttpAuthValidate() nut/pro/auth.c
  NutHttpSendError() nut/pro/httpd.c
  NutHttpSendHeaderBottom() nut/pro/httpd.c
  NutHttpSendHeaderTop() nut/pro/httpd.c
  _close() nut/crt/close.c
  _filelength() nut/crt/filelength.c
  _read() nut/crt/read.c
  fprintf() nut/crt/fprintf.c
  free() nut/crt/malloc.c
  fwrite() nut/crt/fwrite.c
  gmtime() nut/crt/gmtime.c
  malloc() nut/crt/malloc.c
  stat() nut/fs/pathops.c
  strdup() nut/crt/strdup.c
  CreateFilePath(), Rfc1123TimeString(), RfcTimeParse(), _open()
Called by: NutHttpProcessRequest() nut/pro/httpd.c
References Variables: http_optflags nut/pro/httpd.c
  default_files