diff --git a/plugins/restful/log_handle.c b/plugins/restful/log_handle.c index eb58d5fd..61347812 100644 --- a/plugins/restful/log_handle.c +++ b/plugins/restful/log_handle.c @@ -194,121 +194,3 @@ void handle_get_global_log_level(nng_aio *aio) neu_http_ok(aio, json_response); } - -void handle_log_list(nng_aio *aio) -{ - NEU_VALIDATE_JWT(aio); - - char log_dir[PATH_MAX] = { 0 }; - getcwd(log_dir, PATH_MAX - 1); - strncat(log_dir, "/", sizeof(log_dir) - strlen(log_dir) - 1); - strncat(log_dir, LOG_DIR, sizeof(log_dir) - strlen(log_dir) - 1); - DIR *dir = opendir(log_dir); - if (NULL == dir) { - NEU_JSON_RESPONSE_ERROR(NEU_ERR_FILE_NOT_EXIST, { - neu_http_response(aio, NEU_ERR_FILE_NOT_EXIST, result_error); - }); - } - - UT_icd icd = { sizeof(neu_resp_log_file_t), NULL, NULL, NULL }; - UT_array *log_files = NULL; - utarray_new(log_files, &icd); - - struct dirent *entry = NULL; - while (NULL != (entry = readdir(dir))) { - if (NULL == strstr(entry->d_name, ".log")) { - continue; - } - - char full_path[PATH_MAX] = { 0 }; - strncpy(full_path, log_dir, sizeof(full_path) - 1); - strncat(full_path, "/", sizeof(full_path) - strlen(full_path) - 1); - strncat(full_path, entry->d_name, - sizeof(full_path) - strlen(full_path) - 1); - struct stat st = { 0 }; - if (0 != stat(full_path, &st)) { - continue; - } - - neu_resp_log_file_t log_file = { 0 }; - strncpy(log_file.file, entry->d_name, sizeof(log_file.file) - 1); - log_file.size = st.st_size; - utarray_push_back(log_files, &log_file); - } - closedir(dir); - - char *result = NULL; - neu_json_encode_by_fn(log_files, neu_json_encode_log_list_resp, &result); - neu_http_ok(aio, result); - free(result); - utarray_free(log_files); -} - -static int response(nng_aio *aio, char *content, enum nng_http_status status) -{ - nng_http_res *res = NULL; - - nng_http_res_alloc(&res); - - nng_http_res_set_header(res, "Content-Type", "text/plain"); - nng_http_res_set_header(res, "Access-Control-Allow-Origin", "*"); - nng_http_res_set_header(res, "Access-Control-Allow-Methods", - "POST,GET,PUT,DELETE,OPTIONS"); - nng_http_res_set_header(res, "Access-Control-Allow-Headers", "*"); - - if (content != NULL && strlen(content) > 0) { - nng_http_res_copy_data(res, content, strlen(content)); - } - - nng_http_res_set_status(res, status); - - nng_http_req *nng_req = nng_aio_get_input(aio, 0); - nlog_notice("<%p> %s %s [%d]", aio, nng_http_req_get_method(nng_req), - nng_http_req_get_uri(nng_req), status); - - nng_aio_set_output(aio, 0, res); - nng_aio_finish(aio, 0); - - return 0; -} - -void handle_log_file(nng_aio *aio) -{ - NEU_VALIDATE_JWT(aio); - - char file_name[NEU_NODE_NAME_LEN] = { 0 }; - if (neu_http_get_param_str(aio, "name", file_name, sizeof(file_name)) <= - 0) { - NEU_JSON_RESPONSE_ERROR(NEU_ERR_PARAM_IS_WRONG, { - neu_http_response(aio, error_code.error, result_error); - }) - return; - } - - char path[PATH_MAX] = { 0 }; - getcwd(path, PATH_MAX - 1); - strncat(path, "/", sizeof(path) - strlen(path) - 1); - strncat(path, LOG_DIR, sizeof(path) - strlen(path) - 1); - - strncat(path, "/", sizeof(path) - strlen(path) - 1); - strncat(path, file_name, sizeof(path) - strlen(path) - 1); - - FILE *file = fopen(path, "r"); - if (NULL == file) { - NEU_JSON_RESPONSE_ERROR(NEU_ERR_FILE_NOT_EXIST, { - neu_http_response(aio, NEU_ERR_FILE_NOT_EXIST, result_error); - }); - } - - fseek(file, 0, SEEK_END); - long file_size = ftell(file); - fseek(file, 0, SEEK_SET); - - char *file_content = (char *) malloc(file_size + 1); - fread(file_content, 1, file_size, file); - file_content[file_size] = '\0'; - fclose(file); - - response(aio, file_content, NNG_HTTP_STATUS_OK); - free(file_content); -} diff --git a/plugins/restful/log_handle.h b/plugins/restful/log_handle.h index 1a9e2f44..0a1ce259 100644 --- a/plugins/restful/log_handle.h +++ b/plugins/restful/log_handle.h @@ -22,11 +22,8 @@ #include -// void handle_get_log(nng_aio *aio); void handle_log_level(nng_aio *aio); void handle_global_log_level(nng_aio *aio); void handle_get_global_log_level(nng_aio *aio); -void handle_log_list(nng_aio *aio); -void handle_log_file(nng_aio *aio); #endif