dmpserverresponse.h 1.4 KB
/**************************************************************************
* file:              dmpserverresponse.h

* Author:            wanzhongping
* Date:              2021-01-14 16:57:25
* Email:             zhongpingw@chinadci.com
* copyright:         广州城市信息研究所有限公司
***************************************************************************/

#ifndef __dmpserverresponse_h__
#define __dmpserverresponse_h__

#include "dmap_server.h"
#include <string>
#include <map>
#include "dmpserverparameters.h"

class SERVER_EXPORT DmpServerResponse
{
public:
    DmpServerResponse() = default;
    virtual ~DmpServerResponse() = default;

    virtual void setStatusCode( int code ) = 0;
    virtual int statusCode() const = 0;

    virtual std::string header( const std::string &key ) const = 0;
    virtual void setHeader( const std::string &key, const std::string &value ) = 0;
    virtual void removeHeader( const std::string &key ) = 0;
    virtual ParameterMap headers() const = 0;

    virtual void sendError( int code,  const std::string &message ) = 0;

    virtual void write(const std::string data) =0;
    virtual void writeJson(const std::string data) =0;
    virtual void writeHtml(const std::string data) =0;
    virtual void writeContent(const void *content, int length =0) = 0;
    virtual void finish();
    virtual void flush();
    virtual void clear() = 0;
};

#endif