File indexing completed on 2024-04-21 04:54:19

0001 /*
0002     SPDX-FileCopyrightText: 2002 Benjamin Meyer <ben-devel@meyerhome.net>
0003     SPDX-FileCopyrightText: 2003 Richard Lärkäng <nouseforaname@home.se>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "httpsubmit.h"
0009 
0010 #include <KIO/TransferJob>
0011 
0012 namespace KCDDB
0013 {
0014   HTTPSubmit::HTTPSubmit(const QString& from, const QString& hostname, uint port)
0015     : Submit(), from_(from)
0016   {
0017     url_.setScheme( QLatin1String( "http" ));
0018     url_.setHost(hostname);
0019     url_.setPort(port);
0020     url_.setPath(QLatin1String( "/~cddb/submit.cgi" ));
0021   }
0022 
0023   HTTPSubmit::~HTTPSubmit()
0024   {
0025 
0026   }
0027 
0028   KIO::Job* HTTPSubmit::createJob(const CDInfo& cdInfo)
0029   {
0030     KIO::TransferJob* job = KIO::http_post(url_, diskData_.toUtf8().data(), KIO::HideProgressInfo);
0031 
0032     job->addMetaData(QLatin1String( "content-type" ), QLatin1String( "Content-Type: text/plain" ));
0033     QString header;
0034 
0035     header += QLatin1String( "Content-Type: text/plain\n" );
0036 
0037     header += QLatin1String( "Category: " ) + cdInfo.get(Category).toString() + QLatin1Char( '\n' );
0038     header += QLatin1String( "Discid: " ) + cdInfo.get(QLatin1String( "discid" )).toString() + QLatin1Char( '\n' );
0039     header += QLatin1String( "User-Email: " ) + from_ + QLatin1Char( '\n' );
0040     //header += QLatin1String( "Submit-Mode: test\n" );
0041     header += QLatin1String( "Submit-Mode: submit\n" );
0042     header += QLatin1String( "Charset: UTF-8" );
0043 
0044     job->addMetaData(QLatin1String( "customHTTPHeader" ), header);
0045 
0046     return job;
0047   }
0048 }