Как получить IP-адрес клиента в R Plumber

Я проверил GitHub Repo и doc, но все еще не мог понять, как получить IP-адрес клиента в Plumber.

Вот реализация, которую я попробовал, я хочу добавить IP-адреса для всех запросов в файл журнала,

#' @post /v1/rl
rl_v1 <- function(a, b, c){
  request='rl'
  start_time <- as.numeric(as.POSIXct(Sys.time()))
  log_record <- paste(NULL, Sys.time(), request, "requested", NULL, NULL, 
                  sep=",")
  cat(paste(log_record, "\n", sep=""), file=log_file_name, append=T)

  lhs <- data.frame(a=unlist(a),
                b=unlist(b),
                c=unlist(c))

  pairs <- custom_function(lhs, rhs, m_w = 0.98,
                                ext_blk_field=c(12), international=T,
                                fasterWcoBlock=T, preprocessedData2=T)
  input_records=nrow(lhs)
  matches=nrow(pairs)
  query_time <- as.numeric(as.POSIXct(Sys.time())) - start_time
  status <- data.frame(query_time=query_time, 
                   request=request, 
                   type='POST',
                   api_version=api_version_v1)

  log_record <- paste(NULL, Sys.time(), request, "responded", 
                  round(matches/input_records*100, 2), 
                  paste0(matches, '/', input_records, ' in ', query_time), 
                  sep=",")
  cat(paste(log_record, "\n", sep=""), file=log_file_name, append=T)

  return(list(data=pairs, status=status))
}

Любая помощь высоко ценится.

1 ответ

Решение

Чтобы закрыть вопрос, я повторю комментарий:

Так как сантехник использует httpuv возможно, вы сможете достичь req$REMOTE_ADDR свойство дескриптора запроса.

Другие вопросы по тегам