Erlang 有 Sinatra 风格的 Web 框架吗?

2023-11-22

我用 Ruby 和 Rails 编程了很长一段时间,然后我爱上了 Sinatra 框架的简单性,它允许我构建一页 Web 应用程序。

Erlang 有像 Sinatra 这样的 Web 框架吗?我尝试了 Erlyweb,但它似乎太重量级了。


您可以使用 mochiweb 实现最小的目标:

start() ->
  mochiweb_http:start([{'ip', "127.0.0.1"}, {port, 6500},
                       {'loop', fun ?MODULE:loop/1}]).
                           % mochiweb will call loop function for each request

loop(Req) ->
  RawPath = Req:get(raw_path),
  {Path, _, _} = mochiweb_util:urlsplit_path(RawPath),   % get request path

  case Path of                                           % respond based on path
    "/"  -> respond(Req, <<"<p>Hello World!</p>">>);
    "/a" -> respond(Req, <<"<p>Page a</p>">>);
    ...
    _    -> respond(Req, <<"<p>Page not found!</p>">>)
  end.

respond(Req, Content) ->
  Req:respond({200, [{<<"Content-Type">>, <<"text/html">>}], Content}).

如果您需要高级路由,则必须使用正则表达式而不是简单的 case 语句。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Erlang 有 Sinatra 风格的 Web 框架吗? 的相关文章

  • ActiveRecord oracle_enhanced 适配器无法加载 ruby​​-oci8 库

    rails g scaffold失败 但 oci 脚本和 irb 数据查询有效 无法弄清楚出了什么问题 rails g scaffold table field1 integer field2 string invoke active re
  • 从 ActiveRecord 获取表名

    I used ActiveRecord Base set table name在动态创建的 ActiveRecord 类上设置我的表名称 现在我需要知道稍后如何获得该值 api 文档没有提及如何执行此操作 另外 我无法从 ActiveRec
  • Partial、Layout、Template 渲染问题

    情况 因此 当我访问页面时 我希望能够将布局应用到部分 我想要三个具有相同布局的部分 现在 我正在尝试使用以下命令来执行此操作 where shared services essay是这样的 p blah p div blah div
  • 如何使用Factory Girl生成回形针附件?

    我有一个包含许多图像的模型 Person 其中图像有一个称为数据的回形针附件字段 下面显示了缩写版本 class Person has many images end class Image has attached file data b
  • 如何验证数值的小数位数?

    我在中间进行了验证 如下所示 validates numericality of shoe size message gt Please input a number 但这还不够 因为用户可以输入一些值 例如 42 222222221212
  • 回形针如何更改基本名称(文件名)?

    我正在尝试更改照片的基本名称 文件名 在我的模型中我有 attr accessor image url basename has attached file image styles gt original gt 300x250 gt pn
  • 在代码中的其他地方设计渲染符号=>向上/形式部分

    我刚刚开始使用 Devise 和 Rails3 我已经完成了身份验证并正在工作并了解基础知识 截至目前 在代表我的主页 首页的主控制器中 我有两个链接 一个链接到 注册 gt sign up 另一个链接根据登录 注销 gt sign in
  • 在 Rails 4 中渲染部分/rake 任务/后台作业/模型中的视图

    我读过很多关于在 rake 任务 后台作业 模型中渲染 Rails 部分和视图的内容 我在 Stackoverflow 和网络上找到的绝大多数内容都描述了在 Rails 3 中工作的方法 但它们似乎已经过时了 而且我没有让它们工作 即使花了
  • 如何使用 ruby​​ 的循环和 haml 创建表?

    我正在尝试制作一个如下所示的 html 表 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 我的数据结构是这样的 f ary 1 250 这是我的哈姆尔代码 table border gt 1 tbody tr cnt 0 f
  • 如何跳过 Devise SessionsController 的 before_filter ?

    我有一个before filter in my ApplicationController 也就是说 对于我的项目中的每个控制器 我怎么能够skip before filter对于设计的SessionsController创造行动 这是我的
  • Rails 中的并行方法

    我的 Rails Web 应用程序有数十种方法 从调用 API 到处理查询结果 这些方法具有以下结构 def method one batch query API process data end def method nth batch
  • 如何在rails中使用npm包?

    我正在尝试使用王牌编辑 https github com ajaxorg ace在我的 Ruby on Rails 应用程序中 大部分视图由 React 组件组成 我正在使用反应轨道宝石 https github com reactjs r
  • ruby on Rails,会话过期通知

    我正在使用 ruby 1 9 3 和 Rails 3 2 我的实际会话处理如下所示 会话助手 def sign in user cookies remember token value user remember token expires
  • 是否可以让 Capistrano 通过反向 SSH 隧道进行结帐?

    我正在开发一个驻留在公共主机上的应用程序 但我必须将其源代码保存在公司防火墙后面的 Git 存储库中 我越来越very厌倦了通过缓慢的部署scp 复制整个存储库并在每次部署时通过 SSH 传送 并且希望远程主机只需执行git pull更新
  • Rails:关于产量

    我在a中看到了一些代码导轨 v2 3 app In layout car general html erb 这个视图是由 cars controller 中的方法调用的 我看到了代码 var some car new Object 有两个问
  • Erlang:查找我的 IP 地址

    我正在尝试使用 Redis 完成负载均衡器 登录服务器 游戏服务器的某些部分设置 负载均衡就是其中之一 在我的 Redis 负载平衡实例中 我使用有序集 关键是应用程序名称 成员是游戏服务器的 IP 地址 这就是我的问题 我想在 erlan
  • 自定义通用 Rails 错误消息

    我们的 Rails 应用程序被设计为链接到多个客户端数据库的单个代码库 根据子域 应用程序确定要连接到哪个数据库 我们使用液体模板为每个客户定制演示文稿 我们无法为每个客户定制通用的 我们很抱歉 出了点问题 消息 谁能推荐一种方法让我们能够
  • 回滚后是否应该删除迁移

    我对 ruby 和 Rails 相当陌生 刚刚开始了解迁移 我的问题是回滚后删除迁移的最佳实践或正确时间是什么 到目前为止 我读到的内容是回滚后是否删除迁移的观点问题 但是在团队中工作时删除迁移是否有任何重大影响 以及保留迁移文件相对于删除
  • 如何在服务调用后检查 rspec 中的数组更改?

    目标很简单 例如我们有一个数组 name ghost state rejected name donkey state rejected 运行服务调用后UpdateAllUsers 这会将所有用户更改为 accepted name ghos
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上

随机推荐

  • 根据环境配置基本URL

    假设我们有 Angular 4 应用程序 需要位于不同环境中的不同相对根 URL 中 即 http localhost 4200 index html为了发展 http prod server com angular app index h
  • HTML/CSS 内容始终居中

    如何使页面内容居中 使其在每种类型的屏幕尺寸上居中 例如 关于寓言式的如果我调整浏览器的大小 中心内容将向左移动 直到到达浏览器窗口 有一些背景元素可以水平无限延伸 顶部的深灰色 中间的浅灰色等 我可以在我的笔记本电脑和 iMac 上打开这
  • Android:软键盘不显示

    我在 MainActivity 布局中有 2 个 EditText 如果我正常运行应用程序 第一个 EditText 会获得焦点 但软键盘不会打开 但是当我使用这个时 public class TestingActivity extends
  • 关于gzip文件上seek的使用

    我有一个大gzip文件 我想使用仅读取其中的一部分seek 关于使用seek on gzip文件 这个page says seek 位置是相对于未压缩数据的 因此 调用者甚至不需要知道数据文件是否被压缩 这是否意味着seek必须从文件开头读
  • javascript 如何在不使用警报的情况下创建验证错误消息

    我希望制作一个简单的表单验证错误消息 显示在用户名字段下 我似乎无法弄清楚
  • 从 ReadableStream 对象检索数据?

    我怎样才能从a处获取信息ReadableStream object 我正在使用 Fetch API 但文档中没有明确说明这一点 尸体正在被归还ReadableStream我只想访问此流中的属性 在浏览器开发工具的 Response 下 我似
  • OSMDroid:当用户点击地图时添加标记

    我想在用户点击地图时在地图上显示一个标记 此外 这不应该影响双击进行缩放和 或移动Mapview 我正在使用 osmdroid android 4 0 jar 看看OSMBonusPack MapEventsOverlay MapEvent
  • 命名空间“clr-namespace:CefSharp.Wpf; assembly=CefSharp.Wpf”中不存在名称 ChromiumWebBrowser

    我已经遵循了这个link实现 CefSharp 应用程序 但我在编码时卡住了MainWindow xaml Blend for VS 2015 说 命名空间 clr namespace CefSharp Wpf assembly CefSh
  • 扩展 Object.prototype JavaScript

    我不是在问这是否可以 Object prototype method function 这被视为evil几乎每个人都考虑到它搞砸了for var i in obj 真正的问题 Ignoring 不合格的浏览器 不支持的浏览器Object d
  • 如何在装饰器中使用命名参数?

    如果我有以下功能 def intercept func do something here intercept arg1 20 def whatever arg1 arg2 do something here 我希望拦截仅在以下情况下启动a
  • 如何设置从浏览器下载的文件的名称?

    我正在编写一个 Web 应用程序 除其他外 它允许用户将文件上传到我的服务器 为了防止名称冲突并组织文件 我将它们放在服务器上后对其进行重命名 通过跟踪原始文件名 我可以与文件所有者进行通信 而他们却不知道我在后端更改了文件名 也就是说 直
  • 如何使用 jQuery 更改 CKEditor 文本?

    我有一个带有 CKEditor bbCode 插件 的文本区域
  • JBoss AS 7 的部署内容在哪里

    我是 JBoss AS 7 的新手 我尝试在 JBoss AS 7 上部署我的 war 文件 看起来工作正常 我的问题是在哪里可以看到部署的内容 我希望它像 Tomcat 一样 它应该有一个探索的 war 文件夹 用于保存部署的内容 JBo
  • 用于返回计算机上 .NET Framework 版本的 PowerShell 脚本?

    返回计算机上 NET Framework 版本的 PowerShell 脚本是什么 我的第一个猜测是涉及 WMI 的东西 还有更好的吗 它应该是一行 为每次 NET 安装 在每一行 仅返回最新版本 如果您要使用注册表 则必须递归才能获取 4
  • 带有绑定参数的 MarkupExtension

    我正在定制MarkupExtension其中我需要来自 XAML 的非字符串参数来构造新对象 是否可以在字段上使用非字符串参数绑定DataContext scope 换句话说 我怎样才能做这样的事情呢
  • What(): std::bad_alloc - 我内存不足了吗?

    我的数据集 960 个维度的 500 000 个点 文件大小为 1 9 GB 1 922 000 000 字节 该代码适用于较小的数据集 但为此它每次都会在同一点崩溃 这是一个最小的例子 include
  • 如何使用js或jquery在html中捕获屏幕截图[重复]

    这个问题在这里已经有答案了 我需要我的客户能够使用如下按钮捕获我网站任何页面的屏幕截图
  • Scikit-learn 多线程

    您知道 scikit learn 中的模型是否使用自动多线程或仅使用顺序指令吗 Thanks 不会 默认情况下 所有 scikit learn 估计器仅在单个线程上工作 但话又说回来 这一切都取决于算法和问题 如果算法需要顺序数据 我们就无
  • 使用 AFNetworking POST jpeg 上传

    我一生都无法弄清楚为什么当我使用 AFNetworking 时这不起作用 它与 ASIHTTP 一起工作 这对我来说都是很新鲜的 但我不明白为什么文件不再从 FILES 传输到服务器的硬盘 这是 iOS 代码 IBAction upload
  • Erlang 有 Sinatra 风格的 Web 框架吗?

    我用 Ruby 和 Rails 编程了很长一段时间 然后我爱上了 Sinatra 框架的简单性 它允许我构建一页 Web 应用程序 Erlang 有像 Sinatra 这样的 Web 框架吗 我尝试了 Erlyweb 但它似乎太重量级了 您