duck2api1616 / httpclient /bogdanfinn /tls_client_test.go
ffreemt
Add route prefix /hf
931bd01
raw
history blame
3.1 kB
package bogdanfinn
import (
"aurora/httpclient"
"fmt"
"io"
"net/http"
"os"
"strings"
"testing"
"github.com/joho/godotenv"
)
var BaseURL string
func init() {
_ = godotenv.Load(".env")
BaseURL = os.Getenv("BASE_URL")
if BaseURL == "" {
BaseURL = "https://chat.openai.com/backend-anon"
}
}
func TestTlsClient_Request(t *testing.T) {
client := NewStdClient()
userAgent := "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
proxy := "http://127.0.0.1:7990"
client.SetProxy(proxy)
apiUrl := BaseURL + "/sentinel/chat-requirements"
payload := strings.NewReader(`{"conversation_mode_kind":"primary_assistant"}`)
header := make(httpclient.AuroraHeaders)
header.Set("Content-Type", "application/json")
header.Set("User-Agent", userAgent)
header.Set("Accept", "*/*")
header.Set("oai-language", "en-US")
header.Set("origin", "https://chat.openai.com")
header.Set("referer", "https://chat.openai.com/")
header.Set("oai-device-id", "c83b24f0-5a9e-4c43-8915-3f67d4332609")
response, err := client.Request(http.MethodPost, apiUrl, header, nil, payload)
if err != nil {
return
}
defer response.Body.Close()
fmt.Println(response.StatusCode)
if response.StatusCode != 200 {
fmt.Println("Error: ", response.StatusCode)
}
}
func TestChatGPTModel(t *testing.T) {
client := NewStdClient()
userAgent := "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
proxy := "http://127.0.0.1:7990"
client.SetProxy(proxy)
apiUrl := "https://chat.openai.com/backend-anon/models"
header := make(httpclient.AuroraHeaders)
header.Set("Content-Type", "application/json")
header.Set("User-Agent", userAgent)
header.Set("Accept", "*/*")
header.Set("oai-language", "en-US")
header.Set("origin", "https://chat.openai.com")
header.Set("referer", "https://chat.openai.com/")
header.Set("oai-device-id", "c83b24f0-5a9e-4c43-8915-3f67d4332609")
response, err := client.Request(http.MethodGet, apiUrl, header, nil, nil)
if err != nil {
return
}
defer response.Body.Close()
fmt.Println(response.StatusCode)
if response.StatusCode != 200 {
fmt.Println("Error: ", response.StatusCode)
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
return
}
type EnginesData struct {
Models []struct {
Slug string `json:"slug"`
MaxTokens int `json:"max_tokens"`
Title string `json:"title"`
Description string `json:"description"`
Tags []string `json:"tags"`
Capabilities struct {
} `json:"capabilities,omitempty"`
ProductFeatures struct {
} `json:"product_features,omitempty"`
} `json:"models"`
Categories []struct {
Category string `json:"category"`
HumanCategoryName string `json:"human_category_name"`
SubscriptionLevel string `json:"subscription_level"`
DefaultModel string `json:"default_model"`
CodeInterpreterModel string `json:"code_interpreter_model,omitempty"`
PluginsModel string `json:"plugins_model"`
} `json:"categories"`
}
}