当前位置: 首页 > 知识库问答 >
问题:

如何使用/隐藏提取的值?

广昊昊
2023-03-14

我正在尝试编写一个拒绝非Ajax请求的指令。下面的代码显然不起作用:

import akka.http.scaladsl.model.HttpHeader
import akka.http.scaladsl.server.Directive0
import akka.http.scaladsl.server.directives.BasicDirectives
import akka.http.scaladsl.server.directives.HeaderDirectives
import akka.http.scaladsl.server.directives.RouteDirectives

trait AjaxDirectives extends BasicDirectives with HeaderDirectives with RouteDirectives {
  private val valid = "XMLHttpRequest"

  def ajax(): Directive0 = {
    headerValueByName("X-Requested-With") { header ⇒
      if (header == valid) {
        pass
      } else {
        reject
      }
    }
  }
}

(此处有2个问题:passdirective0&headervaluebynamedirective1headervaluebynamedirective1&Ajaxdirective0。因此它不编译

我的问题是:我可以有一个局部范围的摘录吗?与中一样,header不会转义Ajax

我知道我可以访问请求来拉出头,而不使用headervalue*,所以请不要这样回答。

共有1个答案

景宏盛
2023-03-14

阅读securitydirectives.authorizeasync给了我答案:

import akka.http.scaladsl.model.HttpHeader
import akka.http.scaladsl.server.Directive0
import akka.http.scaladsl.server.directives.BasicDirectives
import akka.http.scaladsl.server.directives.HeaderDirectives
import akka.http.scaladsl.server.directives.RouteDirectives

trait AjaxDirectives extends BasicDirectives with HeaderDirectives with RouteDirectives {
  private val headerName = "X-Requested-With"
  private val valid = "XMLHttpRequest"

  def ajax(): Directive0 = {
    headerValueByName(headerName).flatMap { header ⇒
      if (header == valid) {
        pass
      } else {
        reject
      }
    }
  }
}
 类似资料:
  • 我有一个简单的顺序神经网络,我想用它来训练分类器。它由一个输入层、三个隐藏层和一个输出层组成,如下所示: 如何提取与每个隐藏层关联的权重。最终目标是使用激活函数计算每个标签成为正确标签的概率。 希望你能理解。感谢您的任何帮助。

  • 我有一个代码与许多评论,我如何可以隐藏这些,但没有删除,我需要他们之后。

  • 有多个包含美国专利No.9,000,000的转让数据的div元素出现在行下面 有办法用JSOUP提取这个隐藏的html吗?

  • 我有数据 我正试图选择它与J汤。 但这不起作用。 我在字符串auth_token=处收到空指针异常。 java.lang.crime.ic.Main.main(Main.java: 2) 我做错了什么?

  • 我有一个javascript函数,可以动态创建一个按钮,该按钮的ID调用一个使其唯一的值。 因为它有一个调用值的id,所以在某些情况下,我将如何使用方法来隐藏这个按钮?

  • 问题内容: 我想使用Java应用程序创建一个隐藏文件夹。该程序应跨平台运行。那么如何编写一个可以创建隐藏文件夹的程序。 我尝试使用 它创建一个未隐藏的目录。 问题答案: 隐藏文件/文件夹的概念是特定于操作系统的,无法通过Java API访问。 在Linux中,许多程序默认情况下会隐藏名称以点开头的文件和文件夹-这样做很容易。 在Windows中,“隐藏”是存储在文件系统中的特殊标志。没有用于更改它