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.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ff7e4673374f8ebc681336747eae2b87a2414b6efc38842f987b899cfe4ee72 |
|
MD5 | 8ddc182990d48b106ea83cdbf9132856 |
|
BLAKE2b-256 | 2e6a87fa995252d3d9b68fa6c8c5030c22bd4c7006d49d59e4ba5c9ff0b244d7 |