Sugo endpoint to server dynamic HTML
$ npm install sugo-endpoint-html --save
Create an instance and apply to sg-server (or sugo-cloud)
/** This is an example to use sugo-endpoint-html */
'use strict'
const sgServer = require('sg-server')
const sugoEndpointHTML = require('sugo-endoint-html')
const renders = {
account: {
profile: () => {
// Returns html string to render
return '<!DOCTYPE html><html><!- ... -></html>'
},
purchaseHistory: () => {
return '<!DOCTYPE html><html><!- ... -></html>'
}
}
}
const server = sgServer({
middlewares: [
/* ... */
],
endpoints: {
// Exports actor module functions as http endpoint (like "/account/purchase-history")
'/:module/:method': { GET: sugoEndpointHTML(renders) }
}
})
server.listen(3000)
Then call the api from agent script.
/** This is example of client */
'use strict'
const arequest = require('arequest')
async function tryExampleClient () {
let request = arequest.create()
let { body, statusCode } = yield request({
method: 'GET',
// Specify the module and method as url with hyphen-case name
url: `http://localhost/account/profile`,
})
// Return values as response body
console.log(body) // -> <!DOCTYPE html><html><!-- ... --></html>
}
tryExampleClient().catch((err) => console.error(err))
Sugo endpoint to server dynamic HTML
Name | Type | Default | Description |
---|---|---|---|
renderers | Object<string, Object<string, function>> | Renderer functions | |
options | object | Optional settings. |
This software is released under the Apache-2.0 License.