This commit is contained in:
43
docs/snippets/go/api/error_handling_extract.md
Normal file
43
docs/snippets/go/api/error_handling_extract.md
Normal file
@@ -0,0 +1,43 @@
|
||||
```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))
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user