added CGIFormattedData object.

This commit is contained in:
Brad Arant 2025-03-06 14:47:57 -08:00
parent 5e6d162a05
commit 25916051e6
2 changed files with 56 additions and 0 deletions

27
CGIFormattedData.cpp Normal file
View File

@ -0,0 +1,27 @@
#include "CGIFormattedData.h"
#include "ZString.h"
namespace coreutils {
CGIFormattedData::CGIFormattedData() {}
CGIFormattedData::CGIFormattedData(ZString cgiData) {
cgiData.split("&");
for(int ix = 1; ix < cgiData.getList().size(); ++ix) {
cgiData[0].split("=");
data[cgiData[0]] = cgiData[1];
data[cgiData[0]].fromCGI();
}
}
ZString CGIFormattedData::operator=(ZString cgiData) {
cgiData.split("&");
for(int ix = 1; ix < cgiData.getList().size(); ++ix) {
cgiData[0].split("=");
data[cgiData[0]] = cgiData[1];
data[cgiData[0]].fromCGI();
}
return cgiData;
}
}

29
CGIFormattedData.h Normal file
View File

@ -0,0 +1,29 @@
#ifndef __CGIFormattedData_h__
# define __CGIFormattedData_h__
# include "MString.h"
# include <map>
namespace coreutils {
///
/// Use the CGIFormattedData object to store and process data that
/// interfaces to the CGI format. Value pairs are accessible using
/// a common map interface.
///
class CGIFormattedData {
public:
CGIFormattedData();
CGIFormattedData(ZString cgiData);
ZString operator=(ZString cgiData);
std::map<MString, MString> data;
};
}
#endif