privacore-open-source-searc.../GigablastRequest.h

90 lines
1.6 KiB
C++

#ifndef GIGABLAST_REQUEST_H_
#define GIGABLAST_REQUEST_H_
class HttpRequest;
class TcpSocket;
#include "Msg4Out.h"
#include "HttpRequest.h"
// generic gigablast request. for all apis offered.
class GigablastRequest {
public:
GigablastRequest()
: m_hr()
, m_socket(NULL)
, m_coll(NULL)
, m_url(NULL)
, m_docId(0)
, m_strip(0)
, m_includeHeader(false)
, m_urlsBuf(NULL)
, m_stripBox(false)
, m_harvestLinks(false)
, m_listBuf()
, m_msg4()
, m_query(NULL)
, m_srn(0)
, m_ern(0)
, m_qlang(NULL)
, m_forceDel(false)
, m_recycleContent(false) {
}
//
// make a copy of the http request because the original is
// on the stack. AND the "char *" types below will reference into
// this because they are listed as TYPE_CHARPTR in Parms.cpp.
// that saves us memory as opposed to making them all SafeBufs.
//
HttpRequest m_hr;
// ptr to socket to send reply back on
TcpSocket *m_socket;
// TYPE_CHARPTR
char *m_coll;
////////////
//
// /admin/inject parms
//
////////////
// these all reference into m_hr or into the Parm::m_def string!
char *m_url; // also for /get
///////////
//
// /get parms (for getting cached web pages)
//
///////////
int64_t m_docId;
int32_t m_strip;
bool m_includeHeader;
///////////
//
// /admin/addurl parms
//
///////////
char *m_urlsBuf;
bool m_stripBox;
bool m_harvestLinks;
SafeBuf m_listBuf;
Msg4 m_msg4;
/////////////
//
// /admin/reindex parms
//
////////////
char *m_query;
int32_t m_srn;
int32_t m_ern;
char *m_qlang;
bool m_forceDel;
bool m_recycleContent;
};
#endif