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.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ee14ef360b807f7bdeefc81e72b5deef35e8e5015930f65ea6800b994121b5f |
|
MD5 | 2c5aa3f2e98f65660bba0cbbaac77a6d |
|
BLAKE2b-256 | ea31878d2083d991dc7d2f1ef4d4fb05e76ba737c24b491914b7dbe5e66c5001 |