{
  "repo": "pingcap/agfs",
  "binary": "agfs-server",
  "binary_path": "agfs-server/cmd/server/main.go",
  "surface_kind": "http_service",
  "type": "http_service",
  "extensions": {
    "notes": [
      "HTTP server for AGFS with plugin mounting, file operations, health checks, and handle APIs."
    ]
  },
  "services": [
    {
      "name": "AGFSServerHTTP",
      "package": "agfs-server/pkg/handlers",
      "type": "http",
      "methods": [
        {
          "name": "Health",
          "name_key": "HTTP GET /api/v1/health",
          "method": "GET",
          "path": "/api/v1/health",
          "description": "Health check endpoint for the AGFS server.",
          "implementation": "agfs-server/pkg/handlers/handlers.go"
        },
        {
          "name": "ReadFile",
          "name_key": "HTTP GET /api/v1/files",
          "method": "GET",
          "path": "/api/v1/files",
          "description": "Read files through AGFS.",
          "implementation": "agfs-server/pkg/handlers/handlers.go"
        },
        {
          "name": "WriteFile",
          "name_key": "HTTP PUT /api/v1/files",
          "method": "PUT",
          "path": "/api/v1/files",
          "description": "Write files through AGFS.",
          "implementation": "agfs-server/pkg/handlers/handlers.go"
        },
        {
          "name": "DeleteFile",
          "name_key": "HTTP DELETE /api/v1/files",
          "method": "DELETE",
          "path": "/api/v1/files",
          "description": "Remove files through AGFS.",
          "implementation": "agfs-server/pkg/handlers/handlers.go"
        },
        {
          "name": "ListDirectories",
          "name_key": "HTTP GET /api/v1/directories",
          "method": "GET",
          "path": "/api/v1/directories",
          "description": "List directories through AGFS.",
          "implementation": "agfs-server/pkg/handlers/handlers.go"
        },
        {
          "name": "CreateDirectory",
          "name_key": "HTTP POST /api/v1/directories",
          "method": "POST",
          "path": "/api/v1/directories",
          "description": "Create directories through AGFS.",
          "implementation": "agfs-server/pkg/handlers/handlers.go"
        },
        {
          "name": "DeleteDirectory",
          "name_key": "HTTP DELETE /api/v1/directories",
          "method": "DELETE",
          "path": "/api/v1/directories",
          "description": "Remove directories through AGFS.",
          "implementation": "agfs-server/pkg/handlers/handlers.go"
        },
        {
          "name": "ListMounts",
          "name_key": "HTTP GET /api/v1/mounts",
          "method": "GET",
          "path": "/api/v1/mounts",
          "description": "List mounted plugins.",
          "implementation": "agfs-server/pkg/handlers/plugin_handlers.go"
        }
      ]
    }
  ]
}
