• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
CDP Studio logo

CDP Studio

The no-code and full-code software development tool for distributed control systems and HMI

  • Doc
  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Products
    • Automation Designer
    • HMI Designer
    • Maritime HMIs
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Protocols - ExternalControl I/O
  • URLRequestBase
  • 5.0.0

URLRequestBase Class

(ExternalControlIO::URLRequestBase)

Abstract base class for all types of URLrequests of ExternalControlBroker. More...

Header: #include <URLRequestBase>
Inherits: RequestBase
Inherited By:

ExternalControlIO::FILERequest, ExternalControlIO::FTPRequest, ExternalControlIO::HTTPRequest, ExternalControlIO::SMTPRequest, and ExternalControlIO::TFTPRequest

  • List of all members, including inherited members

Public Functions

URLRequestBase()
~URLRequestBase() override

Reimplemented Public Functions

virtual void Configure(XMLElementEx *xml, ExternalControlBroker *parentComp, RequestBase *parentRequest) override
  • 7 public functions inherited from ExternalControlIO::RequestBase
  • 27 public functions inherited from CDP::StudioAPI::CDPNode
  • 1 public function inherited from OSAPIThread
  • 2 public functions inherited from ServerIO::ISendTrigger
  • 22 public functions inherited from CDP::StudioAPI::ICDPNode
  • 15 public functions inherited from OSAPITask

Protected Functions

std::string Encryption() const
int LastStatusCode() const
virtual long LibCURLProtocol() const = 0
std::string Method() const
std::string Protocol() const
const URLRequestBase *RootParent() const
virtual void SetConnectionOptions(LibCURLRequest &request) const
void SetLastModifiedTimestamp(const std::string &timestamp)
void SetLastRequestTimestamp()
void SetLastStatusCode(int code)
virtual bool TLSSupported() const
std::string URL() const

Reimplemented Protected Functions

virtual void FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const override
virtual void ProcessRequest() override
  • 33 protected functions inherited from ExternalControlIO::RequestBase
  • 1 protected function inherited from CDP::StudioAPI::CDPNode
  • 1 protected function inherited from OSAPIThread

Additional Inherited Members

  • 2 static public members inherited from ExternalControlIO::RequestBase
  • 1 protected type inherited from OSAPITask

Detailed Description

Abstract base class for all types of URLrequests of ExternalControlBroker.

Uses LibCURL to invoke actual requests. Derived classes must implement:

  • LibCURLProtocol() - to return CURL protocol types that are supported by this request

Derived classes can override:

  • SetConnectionOptions() - to set additional CURL options before request is invoked
  • TLSSupported() - return true if request supports TLS, so TLS options will be set before request is made

PS! This C++ class is used also for URLSubRequestBase CDP template model. For URLSubRequestBase parent URLRequestBase property values are queried recursively when child does not overwrite them.

Member Function Documentation

URLRequestBase::URLRequestBase()

Default constructs an instance of URLRequestBase.

URLRequestBase::~URLRequestBase()

Destroys the instance of URLRequestBase.

[override virtual] void URLRequestBase::Configure(XMLElementEx *xml, ExternalControlBroker *parentComp, RequestBase *parentRequest)

[protected] std::string URLRequestBase::Encryption() const

[override virtual protected] void URLRequestBase::FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const

[protected] int URLRequestBase::LastStatusCode() const

[pure virtual protected] long URLRequestBase::LibCURLProtocol() const

[protected] std::string URLRequestBase::Method() const

[override virtual protected] void URLRequestBase::ProcessRequest()

[protected] std::string URLRequestBase::Protocol() const

[protected] const URLRequestBase *URLRequestBase::RootParent() const

[virtual protected] void URLRequestBase::SetConnectionOptions(LibCURLRequest &request) const

[protected] void URLRequestBase::SetLastModifiedTimestamp(const std::string &timestamp)

[protected] void URLRequestBase::SetLastRequestTimestamp()

[protected] void URLRequestBase::SetLastStatusCode(int code)

[virtual protected] bool URLRequestBase::TLSSupported() const

[protected] std::string URLRequestBase::URL() const

The content of this document is confidential information not to be published without the consent of CDP Technologies AS.

CDP Technologies AS, www.cdpstudio.com

Get started with CDP Studio today

Let us help you take your great ideas and turn them into the products your customer will love.

Try CDP Studio for free
Why CDP Studio?

CDP Technologies AS
Hundsværgata 8,
P.O. Box 144
6001 Ålesund, Norway

Tel: +47 990 80 900
E-mail: info@cdptech.com

Company

About CDP

Contact us

Services

Partners

Blog

Developers

Get started

User manuals

Support

Document download

Release notes

My account

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

© Copyright 2025 CDP Technologies. Privacy and cookie policy.

Return to top