Arachne 1.0
Arachne - the perpetual stitcher of Wikidata entities.
Loading...
Searching...
No Matches
utils.hpp File Reference
#include <array>
#include <atomic>
#include <curl/curl.h>
#include <limits>
#include <map>
#include <string>
#include <vector>
Include dependency graph for utils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  corespace::options
 Configuration for fetching entities via MediaWiki/Wikibase API. More...
struct  corespace::network_metrics
 Thread-safe counters describing client-side networking activity. More...
struct  corespace::http_response
 Result object for an HTTP transfer. More...
struct  corespace::network_options
 Fixed runtime options for the HTTP client. More...
struct  corespace::sparql_request
struct  corespace::service_profile
 Static configuration values describing a remote service. More...
struct  corespace::wdqs_options
 Options specific to WDQS usage and heuristics. More...
struct  corespace::call_preview

Namespaces

namespace  corespace

Typedefs

using corespace::parameter = std::pair<std::string, std::string>
 Single query parameter: key=value (pre-encoding is handled by libcurl).
using corespace::parameter_list = std::vector<parameter>
 Ordered list of query parameters appended to the URL.

Enumerations

enum class  corespace::interface { corespace::command_line , corespace::interactive }
enum class  corespace::entity_kind {
  corespace::item , corespace::property , corespace::lexeme , corespace::mediainfo ,
  corespace::entity_schema , corespace::form , corespace::sense , corespace::any ,
  corespace::unknown
}
 Wikidata entity kind. More...
enum  corespace::service_kind { corespace::wdqs }
 Identifies supported SPARQL services. More...
enum class  corespace::http_method { corespace::get , corespace::post }
 HTTP method to use for a request. More...
enum class  corespace::http_method_hint { corespace::automatic , corespace::force_get , corespace::force_post }
 Hint for selecting the HTTP method for a request. More...

Functions

const service_profilecorespace::get_service_profile (service_kind kind)
 Retrieve the service profile for a given service kind.
void corespace::sort_parameters (parameter_list &params)
 Sorts the parameter list in-place by key.
void corespace::append_common_params (service_kind kind, http_method method, parameter_list &params)
 Appends common parameters required for a service and HTTP method.
http_method corespace::choose_http_method (const sparql_request &request, std::size_t threshold)
 Chooses the appropriate HTTP method for a SPARQL request.
std::string corespace::resolve_accept (const sparql_request &request, const service_profile &profile, std::string_view override_accept)
 Resolves the Accept header value for a SPARQL request.
std::pair< std::string, bool > corespace::resolve_body_strategy (const sparql_request &request)
 Determines the body content and strategy for a SPARQL request.