Files
fil/docs/snippets/go/api/error_handling_extract.md

44 lines
922 B
Markdown
Raw Permalink Normal View History

2026-06-01 23:40:55 +02:00
```go title="Go"
package main
import (
"bytes"
"encoding/json"
"io"
"log"
"mime/multipart"
"net/http"
"os"
)
func main() {
file, err := os.Open("document.pdf")
if err != nil {
log.Fatalf("failed to open file: %v", err)
}
defer file.Close()
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("files", "document.pdf")
io.Copy(part, file)
writer.Close()
resp, err := http.Post("http://localhost:8000/extract", writer.FormDataContentType(), body)
if err != nil {
log.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
var errResp map[string]string
json.NewDecoder(resp.Body).Decode(&errResp)
log.Fatalf("error: %s: %s", errResp["error_type"], errResp["message"])
}
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
println("Success:", result["content"].(string))
}
```