sinatra 基本用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sinatra 基本用法相关的知识,希望对你有一定的参考价值。
sinatra 不同于rails,是一个轻量级的ruby 框架,非常轻巧灵活。
基本用法如官网所述:
#!/usr/bin/env ruby require ‘sinatra‘ get ‘/frank-says‘ do ‘Put this in your pipe & smoke it!‘ end
默认会监听在127.0.0.1:4567 ,可以稍加配置,如下:
#!/usr/bin/env ruby require ‘sinatra‘ configure do set :bind, ‘0.0.0.0‘ set :port, ‘1234‘ end get ‘/frank-says‘ do ‘Put this in your pipe & smoke it!‘ end
使用变量的办法如下
#!/usr/bin/env ruby require ‘sinatra‘ configure do set :bind, ‘0.0.0.0‘ set :port, ‘1234‘ end get ‘/frank-says‘ do "your ip address is #{request.ip}" end
其他一些有用的变量如下:
request.body # 被客户端设定的请求体(见下) request.scheme # "http" request.script_name # "/example" request.path_info # "/foo" request.port # 80 request.request_method # "GET" request.query_string # "" request.content_length # request.body的长度 request.media_type # request.body的媒体类型 request.host # "example.com" request.get? # true (其他动词也具有类似方法) request.form_data? # false request["SOME_HEADER"] # SOME_HEADER header的值 request.referrer # 客户端的referrer 或者 ‘/‘ request.user_agent # user agent (被 :agent 条件使用) request.cookies # 浏览器 cookies 哈希 request.xhr? # 这是否是ajax请求? request.url # "http://example.com/example/foo" request.path # "/example/foo" request.ip # 客户端IP地址 request.secure? # false(如果是ssl则为true) request.forwarded? # true (如果是运行在反向代理之后) request.env # Rack中使用的未处理的env哈希
附 CentOS7 安装ruby + sinatra 环境
yum install ruby ruby-devel rubygems rubygem-rack gem install sinatra thin
ps:官方推荐安装thin,因为它比默认的webrick性能更好,sinatra默认优先使用thin
本文出自 “专注Linux 运维” 博客,请务必保留此出处http://purplegrape.blog.51cto.com/1330104/1895952
以上是关于sinatra 基本用法的主要内容,如果未能解决你的问题,请参考以下文章