47 lines
1.0 KiB
C++
47 lines
1.0 KiB
C++
#include "IMFHeader.h"
|
|
#include "Exception.h"
|
|
|
|
namespace coreutils {
|
|
|
|
IMFHeader::IMFHeader() {
|
|
|
|
}
|
|
|
|
IMFHeader::IMFHeader(PString &in) {
|
|
key = in.getTokenInclude("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-");
|
|
if(!in.ifNext(":")) {
|
|
printf("%02X\n", in.str()[0]);
|
|
throw coreutils::Exception("Invalid character in expected header token.");
|
|
}
|
|
in.skipWhitespace();
|
|
value = in.getTokenExclude("\r\n");
|
|
if(!in.ifNext("\r\n"))
|
|
throw coreutils::Exception("Expected CRLF.");
|
|
}
|
|
|
|
IMFHeader::IMFHeader(std::string key, std::string value) {
|
|
this->key = key;
|
|
this->value = value;
|
|
}
|
|
|
|
std::string IMFHeader::getKey() {
|
|
return key;
|
|
}
|
|
|
|
void IMFHeader::setKey(std::string key) {
|
|
this->key = key;
|
|
}
|
|
|
|
std::string IMFHeader::getValue() {
|
|
return value;
|
|
}
|
|
|
|
void IMFHeader::setValue(std::string value) {
|
|
this->value = value;
|
|
}
|
|
|
|
void IMFHeader::output(std::stringstream &out) {
|
|
out << key << ": " << value << "\r\n";
|
|
}
|
|
|
|
} |