HTTP Caching Support
HTTP caching support is also quite easy, with functions allowing resources to define (e.g.) last_modified
, expires
, and generate_etag
. For instance, since representations of this resource vary only by URI Path, I could use an extremely simple entity tag unfit for most real applications but sufficient for this example:
generate_etag(ReqData, Context) -> {wrq:raw_path(ReqData), ReqData, Context}.
Similarly, here's a trivial expires rule:
expires(ReqData, Context) -> {{{2021,1,1},{0,0,0}}, ReqData, Context}.
And now the response from our earlier request is appropriately tagged:
HTTP/1.1 200 OK
Vary: Accept
Server: MochiWeb/1.1 WebMachine/0.97
Expires: Fri, 01 Jan 2021 00:00:00 GMT
ETag: /demo/authdemo
Date: Sun, 15 Mar 2009 02:59:02 GMT
Content-Type: text/html
Content-Length: 59
<html><body>Hello authdemo from Webmachine.
</body></html>
分享到:
相关推荐
本篇将围绕“创建WebMachine应用程序”这一主题,深入讲解WebMachine的核心概念、工作原理以及如何使用它来构建一个简单的Web应用。 首先,WebMachine并不是一个完整的Web框架,而是专注于处理HTTP请求和响应的库。...
Webmachine 是一个应用层,为 mochiweb 提供 HTTP 语义的特性,定义一个简单而清晰的连接应用的方式。 标签:Webmachine Web框架
Webmachine使用模式匹配来分发URL到相应的资源家族。例如: ```erlang {["a"], some_resource, []} ``` 这意味着对于URL`http://myhost/a`,将会匹配到`someresource`资源家族。如果没有任何模式匹配,则会返回404...
Ruby网络机器 webmachine-Ruby的端口 ,信息被写入在二郎。... 这意味着您不必担心直接处理请求所涉及的过程,而可以描述与组成应用程序的资源有关的事实。 Webmachine本身并不是一个...下面我们通过一些例子说明如何使用
webmachine, 基于REST的构建web应用程序的 webmachine这个项目从 Basho 开始,是Riak的创建者和维护者。 由于webmachine对更广泛的Erlang社区的重要性,形成了一个新的组织。 请与 @seancribbs 联系。概述 ...
**ocaml-webmachine:OCaml中的RESTful服务构建利器** `ocaml-webmachine`是一个针对OCaml编程语言的开源库,专门设计用于构建...通过学习和使用`ocaml-webmachine`,你可以轻松地在OCaml环境中构建健壮的Web应用。
这是使用 Webmachine 的 OAuth 2 服务器的示例实现。 它旨在用作其他实现的参考或起点。 不要在生产环境中使用它,因为它没有经过适当的测试或审计。 作者对因使用此实现而导致的任何损坏或问题不承担任何责任。 请...
Webmachine是一个应用程序层,它在mochiweb提供的出色的按位和HTTP语法管理的基础上增加了HTTP语义意识,并提供了一种简单明了的方式将其连接到应用程序的行为。 可获得更多信息。 您还可以阅读有关Webmachine的...
本节将通过一个具体的例子——论文库的REST API——来演示如何使用Webmachine构建REST服务。该API提供对论文的存储、更新、检索和删除操作,每篇论文包含标题和作者信息。 ##### 实现的操作 1. **存储论文**:允许...
new_webmachine.sh 脚本创建的简单应用程序的基本直接端口从 Erlang 到 LFE。 当前的例外: 需要实现lfewm_sup:upgrade函数 必须手动实现lfewm_resource:ping 否则它似乎工作正常。 像其他任何东西一样构建...
Ruby-HAL服务器基于Webmachine和ROAR的示例HAL Server,受到我一天对访问的启发。 提供一个基本模板,用于设置结合和超文本应用程序语言(HAL)的简单应用程序,以在Ruby中构建真正的RESTful系统。 ROAR(Ruby中的...
Webmachine的理念是通过提供一个明确的状态机模型,使开发者能够更简单地理解和处理HTTP协议的复杂性。Webcrank.hs的目标是创建一个既快速又可靠的HTTP工具包,确保在构建web服务时,程序的行为正确无误。 Haskell...
先决条件如果您使用的是 Mac,或使用: brew install erlang然后安装 。安装用git clone git://github.com/6/heroku-erlang-example.git克隆这个 repo cd进去,然后: makeforeman start这将在本地启动 web 服务器...
飞艇:氦气+ Webmachine =飞艇。 用于构建声明性RESTful Web应用程序的工具包
该库处理诸如内容协商和可预测的缓存行为之类的事情,使您可以集中精力构建一个干净且一致的API,无论它符合或什至与兼容。 当您使用Bishop创建“资源”时,您会收到一个函数,该函数需要一个请求值映射并返回一个...
- **构建书签应用**:通过构建一个简单的书签应用,介绍如何使用Sinatra来搭建基本的应用结构。 - **RESTful API**:讲解如何使用Sinatra构建符合REST原则的API接口。 - **数据持久化**:介绍如何在Sinatra应用中...
Ewebmachine是使用basho基于Webmachine的完全干净的DSL和插件集成的完全重写。 此版本与以前的版本(仅是围绕Webmachine的薄包装器)不向后兼容,请使用分支1.0-legacy来使用旧版本。 有关更多详细说明,请参见。 ...
"clojure"表明这个项目是用Clojure语言编写的,而"ClojureClojure"可能是对Clojure的重复提及或者强调。"swagger"是一个流行的API文档和测试工具,通常用于生成、预览和测试REST API,意味着octohipster可能与...
简单桥 通过创建标准化接口,SimpleBridge减轻了对多个Erlang HTTP服务器进行编码的麻烦。 它目前支持Cowboy,Inet,Mochiweb,Webmachine和Yaws。 SimpleBridge用作两个最受欢迎的Erlang Web框架到Web服务器的...
书中通过三天的学习计划,分别介绍了四个不同的框架:Sinatra、CanJS、AngularJS和Ring,每个框架的介绍都包含其特点、基本使用方法以及在构建实际应用中的应用。 Sinatra是一个轻量级的Ruby框架,以其简洁的DSL...