Skip to content

Commit

Permalink
lib/curl/Request: move code from SetupEasy() to Setup.cxx
Browse files Browse the repository at this point in the history
  • Loading branch information
MaxKellermann committed Dec 8, 2021
1 parent e0f56b9 commit dda0dfc
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 13 deletions.
15 changes: 2 additions & 13 deletions src/lib/curl/Request.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,15 @@
* OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#include "config.h"
#include "Request.hxx"
#include "Setup.hxx"
#include "Global.hxx"
#include "event/Call.hxx"
#include "util/StringStrip.hxx"
#include "Version.h"

#include <curl/curl.h>

#include <cassert>

#include <stdio.h>

CurlRequest::CurlRequest(CurlGlobal &_global, CurlEasy _easy,
CurlResponseHandler &_handler)
:global(_global), handler(_handler), easy(std::move(_easy))
Expand All @@ -66,14 +62,7 @@ CurlRequest::SetupEasy()

handler.Install(easy);

easy.SetUserAgent("Music Player Daemon " VERSION);
#if !defined(ANDROID) && !defined(_WIN32)
easy.SetOption(CURLOPT_NETRC, 1L);
#endif
easy.SetNoProgress();
easy.SetNoSignal();
easy.SetConnectTimeout(10);
easy.SetOption(CURLOPT_HTTPAUTH, (long) CURLAUTH_ANY);
Curl::Setup(easy);
}

void
Expand Down
51 changes: 51 additions & 0 deletions src/lib/curl/Setup.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* Copyright 2008-2021 Max Kellermann <[email protected]>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#include "Setup.hxx"
#include "Easy.hxx"
#include "Version.h"

#include <stdio.h>

namespace Curl {

void
Setup(CurlEasy &easy)
{
easy.SetUserAgent("Music Player Daemon " VERSION);
#if !defined(ANDROID) && !defined(_WIN32)
easy.SetOption(CURLOPT_NETRC, 1L);
#endif
easy.SetNoProgress();
easy.SetNoSignal();
easy.SetConnectTimeout(10);
easy.SetOption(CURLOPT_HTTPAUTH, (long) CURLAUTH_ANY);
}

} // namespace Curl
39 changes: 39 additions & 0 deletions src/lib/curl/Setup.hxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright 2008-2021 Max Kellermann <[email protected]>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#pragma once

class CurlEasy;

namespace Curl {

void
Setup(CurlEasy &easy);

} // namespace Curl
1 change: 1 addition & 0 deletions src/lib/curl/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ curl = static_library(
'Init.cxx',
'Global.cxx',
'Request.cxx',
'Setup.cxx',
'Adapter.cxx',
'Escape.cxx',
'Form.cxx',
Expand Down

0 comments on commit dda0dfc

Please sign in to comment.