ngx_int_t ngx_http_lua_content_handler_inline(ngx_http_request_t *r) { lua_State *L; ngx_int_t rc; ngx_http_lua_main_conf_t *lmcf; ngx_http_lua_loc_conf_t *llcf; char *err; llcf = ngx_http_get_module_loc_conf(r, ngx_http_lua_module); lmcf = ngx_http_get_module_main_conf(r, ngx_http_lua_module); L = lmcf->lua; /* load Lua inline script (w/ cache) sp = 1 */ rc = ngx_http_lua_cache_loadbuffer(L, llcf->content_src.value.data, llcf->content_src.value.len, llcf->content_src_key, "content_by_lua", &err, llcf->enable_code_cache ? 1 : 0); if (rc != NGX_OK) { if (err == NULL) { err = "unknown error"; } ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "failed to load Lua inlined code: %s", err); return NGX_HTTP_INTERNAL_SERVER_ERROR; } return ngx_http_lua_content_by_chunk(L, r); }
ngx_int_t ngx_http_lua_content_handler_inline(ngx_http_request_t *r) { lua_State *L; ngx_int_t rc; ngx_http_lua_main_conf_t *lmcf; ngx_http_lua_loc_conf_t *llcf; llcf = ngx_http_get_module_loc_conf(r, ngx_http_lua_module); lmcf = ngx_http_get_module_main_conf(r, ngx_http_lua_module); L = lmcf->lua; /* load Lua inline script (w/ cache) sp = 1 */ rc = ngx_http_lua_cache_loadbuffer(L, llcf->content_src.value.data, llcf->content_src.value.len, llcf->content_src_key, "content_by_lua", llcf->enable_code_cache ? 1 : 0); if (rc != NGX_OK) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } return ngx_http_lua_content_by_chunk(L, r); }
ngx_int_t ngx_http_lua_content_handler_inline(ngx_http_request_t *r) { lua_State *L; ngx_int_t rc; ngx_http_lua_main_conf_t *lmcf; ngx_http_lua_loc_conf_t *llcf; char *err; llcf = ngx_http_get_module_loc_conf(r, ngx_http_lua_module); lmcf = ngx_http_get_module_main_conf(r, ngx_http_lua_module); L = lmcf->lua; /* load Lua inline script (w/ cache) sp = 1 */ rc = ngx_http_lua_cache_loadbuffer(L, llcf->content_src.value.data, llcf->content_src.value.len, llcf->content_src_key, "content_by_lua", &err, llcf->enable_code_cache ? 1 : 0); if (rc != NGX_OK) { if (err == NULL) { err = "unknown error"; } ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Failed to load Lua inlined code: %s", err); return NGX_HTTP_INTERNAL_SERVER_ERROR; } rc = ngx_http_lua_content_by_chunk(L, r); if (rc == NGX_ERROR || rc >= NGX_HTTP_SPECIAL_RESPONSE) { return rc; } if (rc == NGX_DONE) { return NGX_DONE; } if (rc == NGX_AGAIN) { #if defined(nginx_version) && nginx_version >= 8011 r->main->count++; #endif return NGX_DONE; } return NGX_OK; }
ngx_int_t ngx_http_lua_content_handler_file(ngx_http_request_t *r) { lua_State *L; ngx_int_t rc; u_char *script_path; ngx_http_lua_main_conf_t *lmcf; ngx_http_lua_loc_conf_t *llcf; char *err; ngx_str_t eval_src; llcf = ngx_http_get_module_loc_conf(r, ngx_http_lua_module); if (ngx_http_complex_value(r, &llcf->content_src, &eval_src) != NGX_OK) { return NGX_ERROR; } script_path = ngx_http_lua_rebase_path(r->pool, eval_src.data, eval_src.len); if (script_path == NULL) { return NGX_ERROR; } lmcf = ngx_http_get_module_main_conf(r, ngx_http_lua_module); L = lmcf->lua; /* load Lua script file (w/ cache) sp = 1 */ rc = ngx_http_lua_cache_loadfile(L, script_path, llcf->content_src_key, &err, llcf->enable_code_cache ? 1 : 0); if (rc != NGX_OK) { if (err == NULL) { err = "unknown error"; } ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "failed to load Lua inlined code: %s", err); return NGX_HTTP_INTERNAL_SERVER_ERROR; } /* make sure we have a valid code chunk */ assert(lua_isfunction(L, -1)); return ngx_http_lua_content_by_chunk(L, r); }
ngx_int_t ngx_http_lua_content_handler_file(ngx_http_request_t *r) { lua_State *L; ngx_int_t rc; u_char *script_path; ngx_http_lua_loc_conf_t *llcf; ngx_str_t eval_src; llcf = ngx_http_get_module_loc_conf(r, ngx_http_lua_module); if (ngx_http_complex_value(r, &llcf->content_src, &eval_src) != NGX_OK) { return NGX_ERROR; } script_path = ngx_http_lua_rebase_path(r->pool, eval_src.data, eval_src.len); if (script_path == NULL) { return NGX_ERROR; } L = ngx_http_lua_get_lua_vm(r, NULL); /* load Lua script file (w/ cache) sp = 1 */ rc = ngx_http_lua_cache_loadfile(r, L, script_path, llcf->content_src_key); if (rc != NGX_OK) { if (rc < NGX_HTTP_SPECIAL_RESPONSE) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } return rc; } /* make sure we have a valid code chunk */ ngx_http_lua_assert(lua_isfunction(L, -1)); return ngx_http_lua_content_by_chunk(L, r); }
ngx_int_t ngx_http_lua_content_handler_file(ngx_http_request_t *r) { lua_State *L; ngx_int_t rc; u_char *script_path; ngx_http_lua_main_conf_t *lmcf; ngx_http_lua_loc_conf_t *llcf; char *err; llcf = ngx_http_get_module_loc_conf(r, ngx_http_lua_module); script_path = ngx_http_lua_rebase_path(r->pool, llcf->src.data, llcf->src.len); if (script_path == NULL) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Failed to allocate memory to store absolute path: raw path='%v'", &(llcf->src)); return NGX_ERROR; } lmcf = ngx_http_get_module_main_conf(r, ngx_http_lua_module); L = lmcf->lua; /* load Lua script file (w/ cache) sp = 1 */ rc = ngx_http_lua_cache_loadfile(L, (char *) script_path, &err); if (rc != NGX_OK) { if (err == NULL) { err = "unknown error"; } ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Failed to load Lua inlined code: %s", err); return NGX_HTTP_INTERNAL_SERVER_ERROR; } /* make sure we have a valid code chunk */ assert(lua_isfunction(L, -1)); rc = ngx_http_lua_content_by_chunk(L, r); if (rc == NGX_ERROR || rc >= NGX_HTTP_SPECIAL_RESPONSE) { return rc; } if (rc == NGX_DONE) { return NGX_DONE; } if (rc == NGX_AGAIN) { #if defined(nginx_version) && nginx_version >= 8011 r->main->count++; #endif return NGX_DONE; } return NGX_OK; }