在 Shiny 中获取响应头变量 [英] get response header variable in Shiny

查看:13
本文介绍了在 Shiny 中获取响应头变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 apache 将 LDAP 登录信息传递给标头中的变量 X-Remote-User:

My apache passes LDAP login to variable X-Remote-User in header:

但我不知道如何在 Shiny 应用程序中获取它.有任何想法吗?也许解决方案可能是一些 java 脚本?

but I don't know how to get it in Shiny app. Any ideas? Maybe solution could be some java script?

推荐答案

好的,我解决了.首先包含在 ui.R js 函数中:

Ok I resolved it. Firstly include in ui.R js function:

www/js/getLogin.js:

function requestLogin() {
var client = new XMLHttpRequest();
client.open("GET", "yourshinyhostname", true);
client.send();
client.onreadystatechange = function() {
    
var resposne = client.getResponseHeader("X-Remote-User");
Shiny.onInputChange("getLogin", resposne);
}; }

然后您可以通过单击按钮获取 X-Remote-User 值:

Then you can get X-Remote-User value for example by clicking button:

ui.R:

includeScript("www/js/getLogin.js"),
uiOutput("login_btn"),
verbatimTextOutput("text")

server.R:

output$login_btn <- renderUI({
  
  HREF <- sprintf('
                  <button id="get_login_btn" value="test" onclick="requestLogin();" >
                  <font color="black">
                  <i class="fa fa-user"></i> Get login
                  </font> 
                  </button>
                  ')
HTML(HREF)
}) 

jsOutput <- reactive({
  input$getLogin
})

output$text <- renderPrint({ 
  jsOutput()
})

这篇关于在 Shiny 中获取响应头变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆