全部产品

2. 编写函数代码

更新时间:2018-09-01 13:09:16

进入新创建的函数,根据所选的开发语言粘贴示例代码到控制台的代码编辑处。

函数的功能是将 HTTP request 请求中的参数作为 response 的信息返回。

Nodejs 函数代码

使用 Nodejs 编写代码可以参考文章 配置 HTTP 触发器的 Nodejs 函数入口

  1. var getRawBody = require('raw-body')
  2. module.exports.handler = function (request, response, context) {
  3. // get request info
  4. getRawBody(request, function (err, data) {
  5. var params = {
  6. path: request.path,
  7. queries: request.queries,
  8. headers: request.headers,
  9. method: request.method,
  10. body: data,
  11. url: request.url,
  12. clientIP: request.clientIP,
  13. }
  14. // you can deal with your own logic here
  15. // set response
  16. var respBody = new Buffer.from(JSON.stringify(params));
  17. // var respBody = new Buffer( )
  18. response.setStatusCode(200)
  19. response.setHeader('content-type', 'application/json')
  20. response.send(respBody)
  21. })
  22. };

Python 函数代码

使用 Python 编写代码可以参考文章 配置 HTTP 触发器的 Python 函数入口

  1. # -*- coding: utf-8 -*-
  2. import json
  3. HELLO_WORLD = b"Hello world!\n"
  4. def handler(environ, start_response):
  5. request_uri = environ['fc.request_uri']
  6. response_body = {
  7. 'uri':environ['fc.request_uri'],
  8. 'method':environ['REQUEST_METHOD']
  9. }
  10. # do something here
  11. status = '200 OK'
  12. response_headers = [('Content-type', 'text/json')]
  13. start_response(status, response_headers)
  14. # Python2
  15. return [json.dumps(response_body)]
  16. # Python3 tips: When using Python3, the str and bytes types cannot be mixed.
  17. # Use str.encode() to go from str to bytes
  18. # return [json.dumps(response_body).encode()]

Php 函数代码

使用 Php 编写代码可以参考文章 配置 HTTP 触发器的 Php 函数入口

  1. <?php
  2. use RingCentral\Psr7\Response;
  3. function handler($request, $context): Response{
  4. /*
  5. $body = $request->getBody()->getContents();
  6. $queries = $request->getQueryParams();
  7. $method = $request->getMethod();
  8. $headers = $request->getHeaders();
  9. $path = $request->getAttribute("path");
  10. $requestURI = $request->getAttribute("requestURI");
  11. $clientIP = $request->getAttribute("clientIP");
  12. */
  13. return new Response(
  14. 200,
  15. array(
  16. "custom_header1" => "v1",
  17. "custom_header2" => ["v2", "v3"],
  18. ),
  19. "hello world"
  20. );
  21. }

下一步:

步骤三:测试函数