NAME
Kelp::Module::Raisin - Raisin integration with Kelp
SYNOPSIS
# in config - order matters
modules
=> [
qw(Symbiosis Raisin)
],
modules_init
=> {
# optional
Symbiosis
=> {
mount
=>
'/path'
,
# will mount Kelp under /path
},
# required
Raisin
=> {
mount
=>
'/api'
,
# will mount Raisin under /api
class
=>
'My::Raisin'
,
# required - full class name of Raisin app
},
},
# in application's build method
$self
->raisin->add_route(
method
=>
'GET'
,
path
=>
'/from-kelp'
,
params
=> {},
code
=>
sub
{
'Hello World from Kelp, in Raisin!'
},
);
# in psgi script
$app
= MyKelpApp->new;
$app
->run_all;
DESCRIPTION
This is a very straightforward module that integrates the Kelp framework with the Raisin API framework using Kelp::Module::Symbiosis. See the documentation for Kelp::Module::Symbiosis and Kelp::Module::Symbiosis::Base for a full reference on how this module behaves.
MODULE INFORMATION
This module name is 'raisin'. You can refer to it with that name in Symbiosis methods - loaded and mounted. There shouldn't be a need to, since it will be mounted automatically if you specify "mount" in configuration.
The module class itself does not expose anything particularly interesting, it is just a wrapper for Raisin.
METHODS INTRODUCED TO KELP
raisin
my
$raisin
=
$kelp
->raisin;
Returns the running instance of Raisin.
CONFIGURATION
middleware, middleware_init
Same as "middleware, middleware_init" in Kelp::Module::Symbiosis::Base. Since Raisin can wrap itself in its own middleware it will likely not be that useful.
mount
See "mount" in Kelp::Module::Symbiosis::Base for details.
class
Should be a full name of the package that defines an api using Raisin::API. Keep in mind that Raisin::API is really a singleton so it is not suitable for multiple app setup.
SEE ALSO
AUTHOR
Bartosz Jarzyna, <bbrtj.pro@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2020 - 2022 by Bartosz Jarzyna
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.