Http to thrift protocol conversion
Project description
Write http service as a thrift service.
This package implements a protocol transformer from http to thrift. Just write the service as a normal Takumi thrift service, then serve the service as a http service. The developers don’t have to care about the details of the protocol transformation, only add the config thrift_protocol_class to app.yaml and your service can be served as a http service.
Config
thrift_protocol_class: takumi_http.HttpProtocol
Settings
Session related settings:
SECRET_KEY (required) secret key for encrypting cookies.
PERMANENT_SESSION_LIFETIME timedelta of session lifetime, default 31 day.
SESSION_COOKIE_DOMAIN cookie domain.
SESSION_COOKIE_PATH cookie path, default ‘/’.
The attributes session_cookie_domain and session_cookie_path can be setted to api context to override default settings.
Example
from takumi import Takumi
app = Takumi('PingService')
app.use(save_session)
@app.api_with_ctx
@pass_request
def say_hello(request, name):
request.session['user_id'] = 90
return 'Hello ' + name
Serve the App
Using takumi-cli to the serve the app.
$ takumi serve
Invoke Api
The http method is not very important. If the api has arguments use POST, if not use GET.
Use a http client to invoke api:
$ curl -XPOST http://localhost:1993/say_hello -d '{"name":"world"}'
API URL has this format:
http://<domain>:<port>/<arbitrary>/<api_name>
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for takumi_http-0.1.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a14f06d76e950b86b8775b1e6011ac36feb9ef2abb3c5f4dd45924abc5016f94 |
|
MD5 | eaeb9d27b99bbe70288d77fb8bce3fc7 |
|
BLAKE2b-256 | 4659191689a0441fe18fb99d46c7c0bbf2f0224d45f73ff4224c7a3a9e8952e7 |