MCPcopy Create free account
hub / github.com/aurora-develop/aurora / files

Method files

initialize/handlers.go:1696–1774  ·  view source on GitHub ↗
(c *gin.Context)

Source from the content-addressed store, hash-verified

1694}
1695
1696func (h *Handler) files(c *gin.Context) {
1697 secret, status, err := h.secretFromAuthorization(c, true, true, h.proxy.GetProxyIP())
1698 if err != nil {
1699 c.JSON(status, gin.H{"error": gin.H{
1700 "message": err.Error(),
1701 "type": "authorization_error",
1702 "param": "Authorization",
1703 "code": status,
1704 }})
1705 return
1706 }
1707 if secret == nil || secret.Token == "" || secret.IsFree {
1708 c.JSON(400, gin.H{"error": gin.H{
1709 "message": "Files API requires a logged-in ChatGPT access token.",
1710 "type": "invalid_request_error",
1711 "param": nil,
1712 "code": "missing_access_token",
1713 }})
1714 return
1715 }
1716
1717 formFile, err := c.FormFile("file")
1718 if err != nil {
1719 c.JSON(400, gin.H{"error": gin.H{
1720 "message": "Missing required multipart field: file",
1721 "type": "invalid_request_error",
1722 "param": "file",
1723 "code": "missing_required_parameter",
1724 }})
1725 return
1726 }
1727 file, err := formFile.Open()
1728 if err != nil {
1729 c.JSON(400, gin.H{"error": gin.H{
1730 "message": err.Error(),
1731 "type": "invalid_request_error",
1732 "param": "file",
1733 "code": "file_open_error",
1734 }})
1735 return
1736 }
1737 defer file.Close()
1738 data, err := io.ReadAll(file)
1739 if err != nil {
1740 c.JSON(400, gin.H{"error": gin.H{
1741 "message": err.Error(),
1742 "type": "invalid_request_error",
1743 "param": "file",
1744 "code": "file_read_error",
1745 }})
1746 return
1747 }
1748 if len(data) == 0 {
1749 c.JSON(400, gin.H{"error": gin.H{
1750 "message": "Uploaded file is empty",
1751 "type": "invalid_request_error",
1752 "param": "file",
1753 "code": "empty_file",

Callers

nothing calls this directly

Calls 5

NewStdClientFunction · 0.92
GetProxyIPMethod · 0.80
GetMethod · 0.80
SetCookiesMethod · 0.65

Tested by

no test coverage detected