File: headerval.cc

package info (click to toggle)
crossroads 2.65-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 2,664 kB
  • ctags: 355
  • sloc: cpp: 4,212; perl: 1,658; xml: 269; makefile: 186; sh: 46
file content (28 lines) | stat: -rw-r--r-- 655 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "httpbuffer"

string Httpbuffer::headerval (string const &var) {
    PROFILE("Httpbuffer::headerval");
    
    if (!headersreceived())
	return ("");
    
    string myvar = var;
    if (myvar[myvar.size() - 1] != ':')
	myvar += ":";

    unsigned int start;
    if ( (!(start = strfind(myvar.c_str()))) ||
	 (start >= bodystart) )
	return ("");

    start += myvar.size();
    for (char ch = charat(start); ch && isspace(ch); ch = charat(++start))
	;
    string ret;
    for (char ch = charat(start); ch && ch != '\r' && ch != '\n';
	 ch = charat(++start))
	ret += ch;

    debugmsg ("Header " + myvar + " '" + ret + "'\n");
    return (ret);
}