dmpspserverresponse.h 1.7 KB
/*
 * @Author: your name
 * @Date: 2021-04-26 15:38:13
 * @LastEditTime: 2021-04-26 15:38:14
 * @LastEditors: your name
 * @Description: In User Settings Edit
 * @FilePath: /dmapserver/src/server/dmpspserverresponse.h
 */
/**************************************************************************
* file:              dmpspserverresponse.h

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

#ifndef __dmpspserverresponse_h__
#define __dmpspserverresponse_h__


#include "dmap_server.h"
#include "sphttpmsg.hpp"
#include "dmpserverresponse.h"
#include <map>
#include <vector>
#include <boost/asio.hpp>

class SERVER_EXPORT DmpSpServerResponse : public DmpServerResponse
{
public:
    DmpSpServerResponse(SP_HttpResponse* response);
    
    void setHeader(const std::string &key, const std::string &value) override;
    void removeHeader(const std::string &key)  override;
    std::string header(const std::string &key) const override;
    ParameterMap headers() const override;

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

    void sendError( int code,  const std::string &message ) override;
    void setStatusCode(int code) override;
    int statusCode() const override;

private:
    SP_HttpResponse* sp_response_;
};

#endif