CMS 3D CMS Logo

Functions
OnlineDBOutputService.cc File Reference
#include "CondCore/DBOutputService/interface/OnlineDBOutputService.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include <curl/curl.h>

Go to the source code of this file.

Functions

static size_t getHtmlCallback (void *contents, size_t size, size_t nmemb, void *ptr)
 
bool getLatestLumiFromDAQ (const std::string &urlString, std::string &info)
 

Function Documentation

◆ getHtmlCallback()

static size_t getHtmlCallback ( void *  contents,
size_t  size,
size_t  nmemb,
void *  ptr 
)
static

Definition at line 27 of file OnlineDBOutputService.cc.

27  {
28  // Cast ptr to std::string pointer and append contents to that string
29  ((std::string*)ptr)->append((char*)contents, size * nmemb);
30  return size * nmemb;
31 }

References relmon_rootfiles_spy::contents, findQualityFiles::size, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by getLatestLumiFromDAQ().

◆ getLatestLumiFromDAQ()

bool getLatestLumiFromDAQ ( const std::string &  urlString,
std::string &  info 
)

Definition at line 33 of file OnlineDBOutputService.cc.

33  {
34  CURL* curl;
35  CURLcode res;
36  std::string htmlBuffer;
37  char errbuf[CURL_ERROR_SIZE];
38 
39  curl = curl_easy_init();
40  bool ret = false;
41  if (curl) {
42  struct curl_slist* chunk = nullptr;
43  chunk = curl_slist_append(chunk, "content-type:document/plain");
44  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
45  curl_easy_setopt(curl, CURLOPT_URL, urlString.c_str());
46  curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, getHtmlCallback);
47  curl_easy_setopt(curl, CURLOPT_WRITEDATA, &htmlBuffer);
48  curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
49  res = curl_easy_perform(curl);
50  if (CURLE_OK == res) {
51  info = htmlBuffer;
52  ret = true;
53  } else {
54  size_t len = strlen(errbuf);
55  fprintf(stderr, "\nlibcurl: (%d) ", res);
56  if (len)
57  fprintf(stderr, "%s%s", errbuf, ((errbuf[len - 1] != '\n') ? "\n" : ""));
58  else
59  fprintf(stderr, "%s\n", curl_easy_strerror(res));
60  }
61  curl_easy_cleanup(curl);
62  }
63  return ret;
64 }

References getHtmlCallback(), info(), runTheMatrix::ret, parallelization::stderr, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by cond::service::OnlineDBOutputService::getLastLumiProcessed().

runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:355
parallelization.stderr
stderr
Definition: parallelization.py:172
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:152
relmon_rootfiles_spy.contents
contents
Definition: relmon_rootfiles_spy.py:129
getHtmlCallback
static size_t getHtmlCallback(void *contents, size_t size, size_t nmemb, void *ptr)
Definition: OnlineDBOutputService.cc:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
res
Definition: Electron.h:6
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443