All Projects → sinasamavati → Leptus

sinasamavati / Leptus

Licence: mit
The Erlang REST framework

Programming Languages

erlang
1774 projects

Projects that are alternatives of or similar to Leptus

Cowboy
Small, fast, modern HTTP server for Erlang/OTP.
Stars: ✭ 6,533 (+1755.97%)
Mutual labels:  rest, web-framework, websocket
Crossbar
Crossbar.io - WAMP application router
Stars: ✭ 1,957 (+455.97%)
Mutual labels:  rest, websocket
Poloniex Api Node
Poloniex API client for REST and WebSocket API
Stars: ✭ 138 (-60.8%)
Mutual labels:  rest, websocket
Proteus
Lean, mean, and incredibly fast JVM framework for web and microservice development.
Stars: ✭ 178 (-49.43%)
Mutual labels:  rest, web-framework
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (-69.89%)
Mutual labels:  rest, websocket
Httpexpect
End-to-end HTTP and REST API testing for Go.
Stars: ✭ 1,821 (+417.33%)
Mutual labels:  rest, websocket
Python Kucoin
Kucoin REST and Websocket API python implementation
Stars: ✭ 165 (-53.12%)
Mutual labels:  rest, websocket
Discord4j
Discord4J is a fast, powerful, unopinionated, reactive library to enable quick and easy development of Discord bots for Java, Kotlin, and other JVM languages using the official Discord Bot API.
Stars: ✭ 973 (+176.42%)
Mutual labels:  rest, websocket
Tutorial
Spring Boot的例子,包含RESTful API, MVC, JMS, Cache, Mybatis, Cache, Websocket...
Stars: ✭ 215 (-38.92%)
Mutual labels:  rest, websocket
Spring Dubbo Service
微服务 spring dubbo项目:dubbo rpc;druid数据源连接池;mybatis配置集成,多数据源;jmx监控MBean;定时任务;aop;ftp;测试;Metrics监控;参数验证;跨域处理;shiro权限控制;consul服务注册,发现;redis分布式锁;SPI服务机制;cat监控;netty服务代理;websocket;disconf;mongodb集成;rest;docker;fescar
Stars: ✭ 224 (-36.36%)
Mutual labels:  rest, websocket
Hunt Framework
A Web framework for D Programming Language. Full-stack high-performance.
Stars: ✭ 256 (-27.27%)
Mutual labels:  web-framework, websocket
Huobi golang
Go SDK for Huobi Spot API
Stars: ✭ 76 (-78.41%)
Mutual labels:  rest, websocket
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. 🚀.
Stars: ✭ 1,176 (+234.09%)
Mutual labels:  rest, web-framework
Go Codon
Workflow based REST framework code generator
Stars: ✭ 133 (-62.22%)
Mutual labels:  rest, web-framework
Dropwizard
A damn simple library for building production-ready RESTful web services.
Stars: ✭ 8,078 (+2194.89%)
Mutual labels:  rest, web-framework
Jda
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
Stars: ✭ 2,598 (+638.07%)
Mutual labels:  rest, websocket
Kemal
Fast, Effective, Simple Web Framework
Stars: ✭ 3,227 (+816.76%)
Mutual labels:  web-framework, websocket
Farwest
Framework for building RESTful HATEOAS-driven applications.
Stars: ✭ 18 (-94.89%)
Mutual labels:  rest, web-framework
Rustful
[OUTDATED] A light HTTP framework for Rust
Stars: ✭ 867 (+146.31%)
Mutual labels:  rest, web-framework
Huobi java
Java SDK for Huobi Spot API
Stars: ✭ 180 (-48.86%)
Mutual labels:  rest, websocket
  • Leptus

    Leptus is an Erlang REST framework that runs on top of Cowboy web server.

    Leptus simplifies creating RESTful APIs in Erlang.

** Requirements

  • Erlang/OTP 18 or newer
  • [[https://github.com/ninenines/cowboy][Cowboy 2.4.0]]
  • [[https://github.com/davisp/jiffy][Jiffy 0.15.2]]

** Installation

Clone it, and run make. Or add it to your rebar configuration.

#+BEGIN_SRC {deps, [ {leptus, ".*", {git, "git://github.com/sinasamavati/leptus.git", {branch, "master"}}} ]}. #+END_SRC

** Quick Example

#+BEGIN_SRC erlang -module(hello). -compile({parse_transform, leptus_pt}).

%% leptus callbacks -export([init/3]). -export([get/3]). -export([terminate/4]).

init(_Route, _Req, State) -> {ok, State}.

get("/", _Req, State) -> {<<"Hello, leptus!">>, State}; get("/hi/:name", Req, State) -> Status = ok, Name = cowboy_req:binding(name, Req), Body = #{<<"say">> => <<"Hi">>, <<"to">> => Name}, {Status, Body, State}.

terminate(_Reason, _Route, _Req, _State) -> ok. #+END_SRC

#+BEGIN_SRC $ erl -pa ebin deps/*/ebin #+END_SRC

#+BEGIN_SRC erlang 1> c(hello). 2> leptus:start_listener(http, [{'_', [{hello, undefined_state}]}]). Leptus started on http://127.0.0.1:8080 #+END_SRC

#+BEGIN_SRC $ curl localhost:8080/hi/Leptus {"say":"Hi","to":"Leptus"} #+END_SRC

** Features

  • Supports GET, PUT, POST and DELETE HTTP methods
  • Can respond in plain text or JSON
  • Supports basic authentication
  • Can be upgraded while it's running (no stopping is required)
  • Supports HTTPS
  • Provides a simple way for dealing with Cross-Origin Resource Sharing

** Documentation

Please refer to [[https://sinasamavati.xyz/leptus][https://sinasamavati.xyz/leptus]].

** Support

  • [[https://github.com/sinasamavati/leptus/issues][Issue tracker]]
  • #leptus IRC channel on Freenode
  • [[https://groups.google.com/group/leptus][leptus]] mailing-list on Google Groups

** License

MIT, see LICENSE file for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].