mirror of
https://github.com/valitydev/openapi-generator.git
synced 2024-11-07 10:58:55 +00:00
6c8bd6b83e
* - check C++ keywords - setter for SSL configuration * recreate example QT5CPP * only emit error signal if error happens * provide more error information * regenerate example QT5CPP * * use reserved words in abstract cpp generator * update CppRest examples * remove tabs
114 lines
3.1 KiB
C++
114 lines
3.1 KiB
C++
/**
|
|
* Swagger Petstore
|
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
|
*
|
|
* OpenAPI spec version: 1.0.0
|
|
* Contact: apiteam@swagger.io
|
|
*
|
|
* NOTE: This class is auto generated by the swagger code generator 2.3.0-SNAPSHOT.
|
|
* https://github.com/swagger-api/swagger-codegen.git
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
#include "MultipartFormData.h"
|
|
#include "ModelBase.h"
|
|
|
|
#include <boost/uuid/random_generator.hpp>
|
|
#include <boost/uuid/uuid_io.hpp>
|
|
|
|
namespace io {
|
|
namespace swagger {
|
|
namespace client {
|
|
namespace model {
|
|
|
|
MultipartFormData::MultipartFormData()
|
|
{
|
|
utility::stringstream_t uuidString;
|
|
uuidString << boost::uuids::random_generator()();
|
|
m_Boundary = uuidString.str();
|
|
}
|
|
|
|
MultipartFormData::MultipartFormData(const utility::string_t& boundary)
|
|
: m_Boundary(boundary)
|
|
{
|
|
|
|
}
|
|
|
|
MultipartFormData::~MultipartFormData()
|
|
{
|
|
}
|
|
|
|
utility::string_t MultipartFormData::getBoundary()
|
|
{
|
|
return m_Boundary;
|
|
}
|
|
|
|
void MultipartFormData::add( std::shared_ptr<HttpContent> content )
|
|
{
|
|
m_Contents.push_back( content );
|
|
m_ContentLookup[content->getName()] = content;
|
|
}
|
|
|
|
bool MultipartFormData::hasContent(const utility::string_t& name) const
|
|
{
|
|
return m_ContentLookup.find(name) != m_ContentLookup.end();
|
|
}
|
|
|
|
std::shared_ptr<HttpContent> MultipartFormData::getContent(const utility::string_t& name) const
|
|
{
|
|
auto result = m_ContentLookup.find(name);
|
|
if(result == m_ContentLookup.end())
|
|
{
|
|
return std::shared_ptr<HttpContent>(nullptr);
|
|
}
|
|
return result->second;
|
|
}
|
|
|
|
void MultipartFormData::writeTo( std::ostream& target )
|
|
{
|
|
for ( size_t i = 0; i < m_Contents.size(); i++ )
|
|
{
|
|
std::shared_ptr<HttpContent> content = m_Contents[i];
|
|
|
|
// boundary
|
|
target << "\r\n" << "--" << utility::conversions::to_utf8string( m_Boundary ) << "\r\n";
|
|
|
|
// headers
|
|
target << "Content-Disposition: " << utility::conversions::to_utf8string( content->getContentDisposition() );
|
|
if ( content->getName().size() > 0 )
|
|
{
|
|
target << "; name=\"" << utility::conversions::to_utf8string( content->getName() ) << "\"";
|
|
}
|
|
if ( content->getFileName().size() > 0 )
|
|
{
|
|
target << "; filename=\"" << utility::conversions::to_utf8string( content->getFileName() ) << "\"";
|
|
}
|
|
target << "\r\n";
|
|
|
|
if ( content->getContentType().size() > 0 )
|
|
{
|
|
target << "Content-Type: " << utility::conversions::to_utf8string( content->getContentType() ) << "\r\n";
|
|
}
|
|
|
|
target << "\r\n";
|
|
|
|
// body
|
|
std::shared_ptr<std::istream> data = content->getData();
|
|
|
|
data->seekg( 0, data->end );
|
|
std::vector<char> dataBytes( data->tellg() );
|
|
|
|
data->seekg( 0, data->beg );
|
|
data->read( &dataBytes[0], dataBytes.size() );
|
|
|
|
std::copy( dataBytes.begin(), dataBytes.end(), std::ostreambuf_iterator<char>( target ) );
|
|
}
|
|
|
|
target << "\r\n--" << utility::conversions::to_utf8string( m_Boundary ) << "--\r\n";
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|