File: cookievalue.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 (22 lines) | stat: -rw-r--r-- 560 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "httpbuffer"

string Httpbuffer::cookievalue (string c) {
    PROFILE("Httpheader::cookievalue");
    
    string cval = headerval ("Cookie");
    string match = c;
    if (match[match.size() - 1] != '=')
	match += '=';
    string ret = "";
    size_t pos = cval.find(match);
    if (pos != string::npos) {
	pos += match.size();
	for (char ch = cval[pos];
	     pos < cval.size() && ch != ';' && ch != ',' && ch;
	     ch = cval[++pos]) {
	    ret += ch;
	}
    }
    msg(Mstr("Cookie value '") + c + Mstr("' : '") + ret + "'\n");
    return (ret);
}