Mercurial
annotate postdog/main.c @ 71:75de5903355c
Giagantic changes that update Dowa library to be more align with stb style array and hashmap. Updated Seobeo to be caching on server side instead of file level caching. Deleted bunch of things I don't really use.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Sun, 28 Dec 2025 20:34:22 -0800 |
| parents | fff1b048dda6 |
| children | 48f260576059 |
| rev | line source |
|---|---|
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
1 /** |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
2 * Entirely written by Claude AI. |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
3 */ |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
4 #include <stdio.h> |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
5 #include <stdlib.h> |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
6 #include <string.h> |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
7 #include <time.h> |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
8 #include <sys/stat.h> |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
9 #include <dirent.h> |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
10 |
|
58
ccb42d5bf8fd
[PostDog] Somewhat working copy. That would use for testing.
June Park <parkjune1995@gmail.com>
parents:
57
diff
changeset
|
11 |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
12 // third party |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
13 #include <curl/curl.h> |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
14 #include "third_party/raylib/include/raylib.h" |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
15 #define RAYGUI_IMPLEMENTATION |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
16 #include "third_party/raylib/include/raygui.h" |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
17 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
18 #define SCREEN_WIDTH 1280 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
19 #define SCREEN_HEIGHT 780 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
20 #define TEXT_SIZE 10 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
21 #define LINE_HEIGHT 15 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
22 #define GENERIC_PADDING 15 |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
23 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
24 #define SIDEBAR_WIDTH 200 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
25 #define SIDEBAR_PADDING_GENERAL 5 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
26 #define SIDEBAR_AREA_PADDING_X 10 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
27 #define SIDEBAR_AREA_PADDING_Y 10 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
28 #define SIDEBAR_REFERSH_BUTTON_WIDTH 90 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
29 #define SIDEBAR_REFERSH_BUTTON_HEIGHT 20 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
30 #define SIDEBAR_HISTORY_ITEM_HEIGHT 45 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
31 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
32 #define URL_INPUT_HEIGHT 40 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
33 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
34 #define TAB_LEN 3 |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
35 #define METHOD_BUTTON_WIDTH 100 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
36 #define METHOD_BUTTON_HEIGHT 40 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
37 #define SEND_BUTTON_WIDTH 100 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
38 #define SEND_BUTTON_HEIGHT 40 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
39 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
40 #define JSON_INPUT_BUFFER_LEN 8192 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
41 #define HEADER_INPUT_BUFFER_LEN 4096 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
42 #define PARAM_INPUT_BUFFER_LEN 4096 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
43 #define MAX_HISTORY_ITEMS 100 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
44 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
45 // Structure to hold response data |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
46 typedef struct { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
47 char *data; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
48 size_t size; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
49 } ResponseBuffer; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
50 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
51 // Structure to hold history item |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
52 typedef struct { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
53 char filename[256]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
54 char displayName[128]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
55 char method[16]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
56 time_t timestamp; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
57 } HistoryItem; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
58 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
59 typedef enum { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
60 ActiveTab_JSON = 0, |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
61 ActiveTab_Headers, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
62 ActiveTab_Params, |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
63 } ActiveTab; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
64 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
65 // Callback function for curl to write response data |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
66 static size_t Postdog_Curl_Callback(void *contents, size_t size, size_t nmemb, void *userp) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
67 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
68 size_t real_size = size * nmemb; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
69 ResponseBuffer *buf = (ResponseBuffer *)userp; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
70 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
71 char *ptr = realloc(buf->data, buf->size + real_size + 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
72 if (ptr == NULL) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
73 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
74 printf("Not enough memory for response\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
75 return 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
76 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
77 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
78 buf->data = ptr; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
79 memcpy(&(buf->data[buf->size]), contents, real_size); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
80 buf->size += real_size; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
81 buf->data[buf->size] = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
82 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
83 return real_size; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
84 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
85 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
86 // Function to make HTTP request using curl |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
87 int PostDog_Make_HttpRequest(const char *url, const char *method, const char *headers, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
88 const char *body, char *response, size_t responseSize) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
89 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
90 CURL *curl; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
91 CURLcode res; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
92 ResponseBuffer buffer = { .data = malloc(1), .size = 0 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
93 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
94 if (buffer.data == NULL) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
95 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
96 snprintf(response, responseSize, "Error: Failed to allocate memory"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
97 return -1; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
98 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
99 buffer.data[0] = '\0'; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
100 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
101 curl_global_init(CURL_GLOBAL_DEFAULT); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
102 curl = curl_easy_init(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
103 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
104 if (curl) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
105 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
106 struct curl_slist *headerList = NULL; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
107 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
108 // Set URL |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
109 curl_easy_setopt(curl, CURLOPT_URL, url); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
110 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
111 // Set HTTP method |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
112 if (strcmp(method, "POST") == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
113 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
114 curl_easy_setopt(curl, CURLOPT_POST, 1L); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
115 if (body && strlen(body) > 0) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
116 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
117 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
118 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
119 else if (strcmp(method, "PUT") == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
120 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
121 curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
122 if (body && strlen(body) > 0) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
123 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
124 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
125 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
126 else if (strcmp(method, "DELETE") == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
127 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
128 curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
129 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
130 // Default is GET |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
131 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
132 // Parse and add headers |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
133 if (headers && strlen(headers) > 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
134 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
135 char *headersCopy = strdup(headers); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
136 char *line = strtok(headersCopy, "\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
137 while (line != NULL) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
138 // Trim whitespace |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
139 while (*line == ' ' || *line == '\t') line++; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
140 if (strlen(line) > 0) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
141 headerList = curl_slist_append(headerList, line); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
142 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
143 line = strtok(NULL, "\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
144 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
145 curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerList); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
146 free(headersCopy); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
147 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
148 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
149 // Set write callback |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
150 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, Postdog_Curl_Callback); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
151 curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&buffer); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
152 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
153 // Follow redirects |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
154 curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
155 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
156 // Set timeout |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
157 curl_easy_setopt(curl, CURLOPT_TIMEOUT, 30L); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
158 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
159 // Perform request |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
160 res = curl_easy_perform(curl); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
161 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
162 if (res != CURLE_OK) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
163 snprintf(response, responseSize, "Error: %s\n", curl_easy_strerror(res)); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
164 } else { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
165 long response_code; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
166 curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
167 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
168 snprintf(response, responseSize, "HTTP Status: %ld\n\n%s", |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
169 response_code, buffer.data ? buffer.data : ""); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
170 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
171 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
172 // Cleanup |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
173 if (headerList) curl_slist_free_all(headerList); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
174 curl_easy_cleanup(curl); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
175 } else { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
176 snprintf(response, responseSize, "Error: Failed to initialize curl"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
177 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
178 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
179 free(buffer.data); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
180 curl_global_cleanup(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
181 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
182 return 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
183 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
184 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
185 void PostDog_HistoryDirectory_Exists() |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
186 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
187 struct stat st = {0}; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
188 if (stat("history", &st) == -1) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
189 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
190 mkdir("history", 0700); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
191 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
192 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
193 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
194 int PostDog_HistoryDistory_ItemsLoad(HistoryItem *items, int maxItems) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
195 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
196 DIR *dir = opendir("history"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
197 if (!dir) return 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
198 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
199 struct dirent *entry; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
200 int count = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
201 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
202 while ((entry = readdir(dir)) != NULL && count < maxItems) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
203 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
204 if (entry->d_name[0] == '.') continue; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
205 if (strstr(entry->d_name, ".txt") == NULL) continue; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
206 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
207 // Parse filename: YYYYMMDD_HHMMSS_METHOD.txt |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
208 strncpy(items[count].filename, entry->d_name, sizeof(items[count].filename) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
209 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
210 // Extract method from filename |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
211 char *methodStart = strrchr(entry->d_name, '_'); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
212 if (methodStart) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
213 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
214 methodStart++; // Skip underscore |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
215 char *dotPos = strchr(methodStart, '.'); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
216 if (dotPos) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
217 int len = dotPos - methodStart; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
218 if (len < 16) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
219 strncpy(items[count].method, methodStart, len); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
220 items[count].method[len] = '\0'; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
221 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
222 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
223 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
224 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
225 // Create display name: METHOD - YYYYMMDD HHMMSS |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
226 char dateTime[32] = ""; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
227 if (strlen(entry->d_name) >= 15) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
228 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
229 snprintf(dateTime, sizeof(dateTime), "%.8s %.6s", |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
230 entry->d_name, entry->d_name + 9); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
231 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
232 snprintf(items[count].displayName, sizeof(items[count].displayName), |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
233 "%s - %s", items[count].method, dateTime); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
234 count++; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
235 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
236 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
237 closedir(dir); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
238 return count; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
239 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
240 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
241 int PostDog_HistoryDirectory_LoadRequest(const char *filename, char *url, char *method, char *headers, char *body) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
242 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
243 char filepath[512]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
244 snprintf(filepath, sizeof(filepath), "history/%s", filename); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
245 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
246 FILE *f = fopen(filepath, "r"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
247 if (!f) return -1; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
248 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
249 char line[2048]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
250 int section = 0; // 0=url, 1=method, 2=headers, 3=body |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
251 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
252 url[0] = '\0'; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
253 method[0] = '\0'; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
254 headers[0] = '\0'; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
255 body[0] = '\0'; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
256 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
257 while (fgets(line, sizeof(line), f)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
258 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
259 // Remove newline |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
260 line[strcspn(line, "\n")] = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
261 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
262 if (section == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
263 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
264 // First line is URL |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
265 strncpy(url, line, 1024 - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
266 section = 1; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
267 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
268 else if (strncmp(line, "Method: ", 8) == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
269 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
270 strncpy(method, line + 8, 15); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
271 section = 2; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
272 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
273 else if (strncmp(line, "Headers:", 8) == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
274 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
275 section = 2; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
276 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
277 else if (strcmp(line, "---") == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
278 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
279 section = 3; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
280 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
281 else if (strncmp(line, "Body:", 5) == 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
282 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
283 section = 3; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
284 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
285 else if (section == 2 && strcmp(line, "None") != 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
286 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
287 // Add header line |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
288 if (strlen(headers) > 0) strcat(headers, "\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
289 strncat(headers, line, HEADER_INPUT_BUFFER_LEN - strlen(headers) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
290 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
291 else if (section == 3 && strcmp(line, "None") != 0) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
292 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
293 // Add body line |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
294 if (strlen(body) > 0) strcat(body, "\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
295 strncat(body, line, JSON_INPUT_BUFFER_LEN - strlen(body) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
296 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
297 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
298 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
299 fclose(f); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
300 return 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
301 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
302 |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
303 void Postdog_UpdateUrlWithParams(char *url, size_t urlSize, const char *baseUrl, const char *params) |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
304 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
305 // Find if there's already a ? in the URL |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
306 char *questionMark = strchr(baseUrl, '?'); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
307 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
308 if (questionMark != NULL) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
309 // URL already has params, just copy the base |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
310 strncpy(url, baseUrl, urlSize - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
311 } else { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
312 // No params yet, add them |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
313 snprintf(url, urlSize, "%s", baseUrl); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
314 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
315 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
316 // Parse and append params |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
317 if (params && strlen(params) > 0) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
318 char *paramsCopy = strdup(params); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
319 char *line = strtok(paramsCopy, "\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
320 bool firstParam = (questionMark == NULL); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
321 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
322 while (line != NULL) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
323 // Trim whitespace |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
324 while (*line == ' ' || *line == '\t') line++; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
325 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
326 if (strlen(line) > 0 && strchr(line, '=')) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
327 size_t currentLen = strlen(url); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
328 if (currentLen + 2 < urlSize) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
329 strcat(url, firstParam ? "?" : "&"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
330 firstParam = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
331 strncat(url, line, urlSize - strlen(url) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
332 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
333 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
334 line = strtok(NULL, "\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
335 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
336 free(paramsCopy); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
337 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
338 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
339 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
340 // Save request to history file |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
341 void Postdog_SaveRequestToHistory(const char *url, const char *method, const char *headers, const char *body) |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
342 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
343 PostDog_HistoryDirectory_Exists(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
344 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
345 // Generate filename with timestamp |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
346 time_t now = time(NULL); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
347 struct tm *t = localtime(&now); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
348 char filename[256]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
349 snprintf(filename, sizeof(filename), "history/%04d%02d%02d_%02d%02d%02d_%s.txt", |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
350 t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
351 t->tm_hour, t->tm_min, t->tm_sec, method); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
352 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
353 FILE *f = fopen(filename, "w"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
354 if (f == NULL) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
355 printf("Failed to create history file\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
356 return; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
357 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
358 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
359 // Write URL |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
360 fprintf(f, "%s\n", url); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
361 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
362 // Write method |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
363 fprintf(f, "Method: %s\n", method); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
364 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
365 // Write headers |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
366 fprintf(f, "Headers:\n"); |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
367 if (headers && strlen(headers) > 0) |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
368 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
369 fprintf(f, "%s\n", headers); |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
370 } |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
371 else |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
372 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
373 fprintf(f, "None\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
374 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
375 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
376 fprintf(f, "---\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
377 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
378 // Write body |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
379 fprintf(f, "Body:\n"); |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
380 if (body && strlen(body) > 0) |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
381 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
382 fprintf(f, "%s\n", body); |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
383 } |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
384 else |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
385 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
386 fprintf(f, "None\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
387 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
388 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
389 fclose(f); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
390 printf("Request saved to %s\n", filename); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
391 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
392 |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
393 void PostDog_Render_TextWithScroll(Rectangle textArea, Vector2 scroll, char *input) |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
394 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
395 BeginScissorMode(textArea.x, textArea.y, textArea.width, textArea.height); |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
396 |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
397 int yPos = textArea.y + 5 - (int)scroll.y; |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
398 int charactersPerLine = (int)(textArea.width / (TEXT_SIZE/1.5)); // Account for padding |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
399 int totalPos = 0; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
400 int inputLen = strlen(input); |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
401 |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
402 while (totalPos < inputLen) |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
403 { |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
404 int lineEnd = totalPos; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
405 int lineLength = 0; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
406 |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
407 while (lineEnd < inputLen && lineLength < charactersPerLine && input[lineEnd] != '\n') |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
408 { |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
409 lineEnd++; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
410 lineLength++; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
411 } |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
412 |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
413 if (yPos + LINE_HEIGHT > textArea.y && yPos < textArea.y + textArea.height) |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
414 { |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
415 char savedChar = input[lineEnd]; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
416 input[lineEnd] = '\0'; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
417 DrawText(&input[totalPos], textArea.x + 5, yPos, TEXT_SIZE, DARKGRAY); |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
418 input[lineEnd] = savedChar; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
419 } |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
420 |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
421 yPos += LINE_HEIGHT; |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
422 |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
423 totalPos = lineEnd; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
424 if (totalPos < inputLen && input[totalPos] == '\n') |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
425 { |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
426 totalPos++; |
|
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
427 } |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
428 } |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
429 |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
430 EndScissorMode(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
431 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
432 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
433 int main() |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
434 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
435 InitWindow(SCREEN_WIDTH, SCREEN_HEIGHT, "PostDog - HTTP Client"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
436 SetWindowState(FLAG_WINDOW_RESIZABLE); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
437 SetTargetFPS(60); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
438 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
439 PostDog_HistoryDirectory_Exists(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
440 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
441 // UI State |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
442 char urlInput[1024] = "https://httpbin.org/get"; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
443 bool urlEditMode = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
444 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
445 char jsonInput[JSON_INPUT_BUFFER_LEN] = "{\"key\":\"value\"}"; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
446 bool jsonEditMode = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
447 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
448 char headersInput[HEADER_INPUT_BUFFER_LEN] = "Content-Type: application/json"; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
449 bool headersEditMode = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
450 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
451 char responseText[16384] = "Response will appear here...\n\nTry the default URL or enter your own!"; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
452 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
453 char paramsInput[PARAM_INPUT_BUFFER_LEN] = "key1=value1\nkey2=value2"; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
454 bool paramsEditMode = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
455 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
456 ActiveTab activeTab = ActiveTab_JSON; // 0 = JSON, 1 = Headers, 2 = Params |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
457 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
458 // HTTP method selection |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
459 int methodActive = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
460 bool methodDropdown = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
461 const char *methods[] = { "GET", "POST", "PUT", "DELETE" }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
462 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
463 // Scroll support |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
464 Vector2 jsonScroll = { 0, 0 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
465 Vector2 headersScroll = { 0, 0 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
466 Vector2 paramsScroll = { 0, 0 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
467 Vector2 responseScroll = { 0, 0 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
468 Vector2 historyScroll = { 0, 0 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
469 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
470 // History |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
471 HistoryItem historyItems[MAX_HISTORY_ITEMS]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
472 int historyCount = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
473 int selectedHistoryIndex = -1; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
474 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
475 // Load initial history |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
476 historyCount = PostDog_HistoryDistory_ItemsLoad(historyItems, MAX_HISTORY_ITEMS); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
477 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
478 while (!WindowShouldClose()) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
479 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
480 // Get current window dimensions for responsive layout |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
481 int screenWidth = GetScreenWidth(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
482 int screenHeight = GetScreenHeight(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
483 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
484 // Layout calculations |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
485 Rectangle sidebar = { 0, 10, SIDEBAR_WIDTH, screenHeight }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
486 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
487 float mainX = SIDEBAR_WIDTH + GENERIC_PADDING; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
488 float mainWidth = screenWidth - SIDEBAR_WIDTH - GENERIC_PADDING * 2; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
489 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
490 // URL input box - leave space for SEND button on the right |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
491 Rectangle urlBox = { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
492 mainX, |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
493 GENERIC_PADDING, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
494 mainWidth - SEND_BUTTON_WIDTH - GENERIC_PADDING, |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
495 URL_INPUT_HEIGHT |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
496 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
497 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
498 // SEND button positioned beside URL input |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
499 Rectangle sendButton = { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
500 urlBox.x + urlBox.width + GENERIC_PADDING, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
501 GENERIC_PADDING, |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
502 SEND_BUTTON_WIDTH, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
503 SEND_BUTTON_HEIGHT |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
504 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
505 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
506 // Method dropdown below URL |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
507 Rectangle methodButton = { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
508 mainX, |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
509 urlBox.y + urlBox.height + GENERIC_PADDING, |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
510 METHOD_BUTTON_WIDTH, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
511 METHOD_BUTTON_HEIGHT |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
512 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
513 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
514 float tabHeight = 30; |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
515 float contentY = methodButton.y + methodButton.height + GENERIC_PADDING + tabHeight; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
516 float contentHeight = screenHeight - contentY - GENERIC_PADDING; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
517 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
518 float panelWidth = (mainWidth - GENERIC_PADDING) / 2; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
519 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
520 Rectangle tabBar = { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
521 mainX, |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
522 methodButton.y + methodButton.height + GENERIC_PADDING, |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
523 panelWidth, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
524 tabHeight |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
525 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
526 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
527 Rectangle requestPanel = { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
528 mainX, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
529 contentY, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
530 panelWidth, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
531 contentHeight |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
532 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
533 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
534 Rectangle responsePanel = { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
535 mainX + panelWidth + GENERIC_PADDING, |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
536 contentY, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
537 panelWidth, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
538 contentHeight |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
539 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
540 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
541 BeginDrawing(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
542 ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR))); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
543 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
544 // --- Sidebar Component--- |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
545 DrawRectangleRec(sidebar, Fade(GRAY, 0.1f)); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
546 GuiGroupBox(sidebar, "HISTORY"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
547 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
548 Rectangle refreshBtn = { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
549 sidebar.x + SIDEBAR_PADDING_GENERAL, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
550 sidebar.y + SIDEBAR_PADDING_GENERAL, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
551 SIDEBAR_REFERSH_BUTTON_WIDTH, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
552 SIDEBAR_REFERSH_BUTTON_HEIGHT |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
553 }; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
554 if (GuiButton(refreshBtn, "Refresh")) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
555 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
556 historyCount = PostDog_HistoryDistory_ItemsLoad(historyItems, MAX_HISTORY_ITEMS); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
557 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
558 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
559 Rectangle historyArea = { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
560 sidebar.x + SIDEBAR_PADDING_GENERAL, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
561 sidebar.y + SIDEBAR_AREA_PADDING_Y, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
562 sidebar.width - SIDEBAR_AREA_PADDING_X, |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
563 sidebar.height - SIDEBAR_AREA_PADDING_Y |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
564 }; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
565 if (CheckCollisionPointRec(GetMousePosition(), historyArea)) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
566 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
567 float wheel = GetMouseWheelMove(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
568 historyScroll.y += wheel * 20; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
569 if (historyScroll.y < 0) historyScroll.y = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
570 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
571 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
572 BeginScissorMode(historyArea.x, historyArea.y, historyArea.width, historyArea.height); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
573 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
574 if (historyCount == 0) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
575 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
576 DrawText("No requests yet", historyArea.x + 5, historyArea.y + 25, 10, DARKGRAY); |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
577 } |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
578 else |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
579 { |
|
58
ccb42d5bf8fd
[PostDog] Somewhat working copy. That would use for testing.
June Park <parkjune1995@gmail.com>
parents:
57
diff
changeset
|
580 int item_y_position = historyArea.y + SIDEBAR_AREA_PADDING_Y + 5 - (int)historyScroll.y; |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
581 for ( |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
582 int current_history_item_number = 0; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
583 current_history_item_number < historyCount; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
584 current_history_item_number++ |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
585 ) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
586 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
587 if (item_y_position > historyArea.y - SIDEBAR_HISTORY_ITEM_HEIGHT && item_y_position < historyArea.y + historyArea.height) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
588 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
589 Rectangle itemRect = { historyArea.x, item_y_position, historyArea.width, SIDEBAR_HISTORY_ITEM_HEIGHT - 2 }; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
590 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
591 // Draw button for history item |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
592 Color bgColor = (selectedHistoryIndex == current_history_item_number) ? Fade(BLUE, 0.3f) : Fade(LIGHTGRAY, 0.5f); |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
593 if (CheckCollisionPointRec(GetMousePosition(), itemRect) && IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
594 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
595 // TODO: This is cringe as fuck probably should just have a strucut that we assign and then zero out lol |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
596 char tempUrl[1024], tempMethod[16], tempHeaders[HEADER_INPUT_BUFFER_LEN], tempBody[JSON_INPUT_BUFFER_LEN]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
597 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
598 if (PostDog_HistoryDirectory_LoadRequest( |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
599 historyItems[current_history_item_number].filename, tempUrl, tempMethod, tempHeaders, tempBody) == 0) |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
600 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
601 strncpy(urlInput, tempUrl, sizeof(urlInput) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
602 strncpy(headersInput, tempHeaders, sizeof(headersInput) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
603 strncpy(jsonInput, tempBody, sizeof(jsonInput) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
604 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
605 // Set method |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
606 for (int m = 0; m < 4; m++) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
607 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
608 if (strcmp(methods[m], tempMethod) == 0) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
609 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
610 methodActive = m; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
611 break; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
612 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
613 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
614 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
615 selectedHistoryIndex = current_history_item_number; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
616 strcpy(responseText, "Request loaded from history. Click SEND to execute."); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
617 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
618 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
619 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
620 DrawRectangleRec(itemRect, bgColor); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
621 DrawRectangleLinesEx(itemRect, 1, GRAY); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
622 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
623 // Draw method badge |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
624 DrawText(historyItems[current_history_item_number].method, itemRect.x + 5, item_y_position + 5, 10, BLACK); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
625 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
626 // Draw timestamp (date only) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
627 char dateStr[16] = ""; |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
628 if (strlen(historyItems[current_history_item_number].filename) >= 8) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
629 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
630 snprintf(dateStr, sizeof(dateStr), "%.4s-%.2s-%.2s", |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
631 historyItems[current_history_item_number].filename, historyItems[current_history_item_number].filename + 4, historyItems[current_history_item_number].filename + 6); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
632 } |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
633 DrawText(dateStr, itemRect.x + 5, item_y_position + 18, 8, DARKGRAY); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
634 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
635 // Draw time |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
636 char timeStr[16] = ""; |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
637 if (strlen(historyItems[current_history_item_number].filename) >= 15) { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
638 snprintf(timeStr, sizeof(timeStr), "%.2s:%.2s:%.2s", |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
639 historyItems[current_history_item_number].filename + 9, historyItems[current_history_item_number].filename + 11, historyItems[current_history_item_number].filename + 13); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
640 } |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
641 DrawText(timeStr, itemRect.x + 5, item_y_position + 28, 8, DARKGRAY); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
642 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
643 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
644 item_y_position += SIDEBAR_HISTORY_ITEM_HEIGHT; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
645 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
646 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
647 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
648 EndScissorMode(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
649 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
650 // --- URL Input Component --- |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
651 GuiLabel((Rectangle){ mainX, GENERIC_PADDING - 15, 100, 20 }, "URL:"); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
652 if (GuiTextBox(urlBox, urlInput, 1024, urlEditMode)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
653 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
654 urlEditMode = !urlEditMode; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
655 } |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
656 if (urlEditMode && (IsKeyDown(KEY_LEFT_SUPER) || IsKeyDown(KEY_LEFT_CONTROL)) && IsKeyPressed(KEY_C)) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
657 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
658 SetClipboardText(urlInput); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
659 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
660 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
661 // Send button (beside URL) |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
662 if (GuiButton(sendButton, "SEND") || (urlEditMode && IsKeyDown(KEY_ENTER))) |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
663 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
664 strcpy(responseText, "Sending request...\n"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
665 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
666 // Make the actual HTTP request |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
667 char tempResponse[16384]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
668 const char *selectedMethod = methods[methodActive]; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
669 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
670 // Use JSON body for POST/PUT, otherwise use empty body |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
671 const char *requestBody = (methodActive == 1 || methodActive == 2) ? jsonInput : NULL; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
672 const char *requestHeaders = headersInput; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
673 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
674 // Save request to history |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
675 Postdog_SaveRequestToHistory(urlInput, selectedMethod, requestHeaders, requestBody); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
676 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
677 // Reload history to show the new request |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
678 historyCount = PostDog_HistoryDistory_ItemsLoad(historyItems, MAX_HISTORY_ITEMS); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
679 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
680 // Making the requests. |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
681 PostDog_Make_HttpRequest(urlInput, selectedMethod, requestHeaders, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
682 requestBody, tempResponse, sizeof(tempResponse)); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
683 strncpy(responseText, tempResponse, sizeof(responseText) - 1); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
684 responseText[sizeof(responseText) - 1] = '\0'; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
685 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
686 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
687 // Tab toggle (3 tabs now) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
688 float tabWidth = tabBar.width / 3; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
689 Rectangle jsonTab = { tabBar.x, tabBar.y - 10, tabWidth, tabBar.height }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
690 Rectangle headersTab = { tabBar.x + tabWidth, tabBar.y - 10, tabWidth, tabBar.height }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
691 Rectangle paramsTab = { tabBar.x + tabWidth * 2, tabBar.y - 10, tabWidth, tabBar.height }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
692 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
693 if (GuiButton(jsonTab, activeTab == ActiveTab_JSON ? "#191#Body" : "Body")) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
694 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
695 activeTab = ActiveTab_JSON; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
696 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
697 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
698 if (GuiButton(headersTab, activeTab == ActiveTab_Headers ? "#191#Headers" : "Headers")) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
699 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
700 activeTab = ActiveTab_Headers; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
701 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
702 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
703 if (GuiButton(paramsTab, activeTab == ActiveTab_Params ? "#191#Params" : "Params")) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
704 { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
705 activeTab = ActiveTab_Params; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
706 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
707 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
708 const char *panelTitle; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
709 switch(activeTab) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
710 case ActiveTab_JSON: |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
711 { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
712 panelTitle = "Request Body (JSON)"; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
713 break; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
714 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
715 case ActiveTab_Headers: |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
716 { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
717 panelTitle = "Request Headers"; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
718 break; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
719 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
720 case ActiveTab_Params: |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
721 { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
722 panelTitle = "Query Parameters"; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
723 break; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
724 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
725 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
726 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
727 // Panel title |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
728 GuiGroupBox(requestPanel, panelTitle); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
729 Rectangle textArea = { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
730 requestPanel.x + 10, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
731 requestPanel.y + 30, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
732 requestPanel.width - 20, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
733 requestPanel.height - 40 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
734 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
735 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
736 // Handle click outside to disable edit mode |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
737 if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
738 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
739 if (!CheckCollisionPointRec(GetMousePosition(), textArea)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
740 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
741 jsonEditMode = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
742 headersEditMode = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
743 paramsEditMode = false; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
744 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
745 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
746 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
747 // Draw border for text area |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
748 DrawRectangleLinesEx(textArea, 1, GRAY); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
749 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
750 // Manual scroll handling with mouse wheel |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
751 if (CheckCollisionPointRec(GetMousePosition(), textArea)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
752 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
753 float wheel = GetMouseWheelMove(); |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
754 switch(activeTab) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
755 { |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
756 case ActiveTab_JSON: |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
757 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
758 jsonScroll.y += wheel * 20; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
759 if (jsonScroll.y < 0) jsonScroll.y = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
760 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
761 case ActiveTab_Headers: |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
762 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
763 headersScroll.y += wheel * 20; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
764 if (headersScroll.y < 0) headersScroll.y = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
765 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
766 case ActiveTab_Params: |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
767 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
768 paramsScroll.y += wheel * 20; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
769 if (paramsScroll.y < 0) paramsScroll.y = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
770 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
771 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
772 } |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
773 |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
774 char *copyFromInput; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
775 bool *currentMode; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
776 switch(activeTab) |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
777 { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
778 case ActiveTab_JSON: |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
779 { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
780 PostDog_Render_TextWithScroll(textArea, jsonScroll, jsonInput); |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
781 copyFromInput = jsonInput; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
782 currentMode = &jsonEditMode; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
783 break; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
784 } |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
785 case ActiveTab_Headers: |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
786 { |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
787 PostDog_Render_TextWithScroll(textArea, headersScroll, headersInput); |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
788 copyFromInput = headersInput; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
789 currentMode = &headersEditMode; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
790 break; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
791 } |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
792 case ActiveTab_Params: |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
793 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
794 PostDog_Render_TextWithScroll(textArea, paramsScroll, paramsInput); |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
795 copyFromInput = paramsInput; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
796 currentMode = ¶msEditMode; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
797 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
798 Rectangle updateUrlBtn = { textArea.x + 30, textArea.y + textArea.height - 10, 120, 20 }; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
799 // TODO: Automatic update |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
800 if (GuiButton(updateUrlBtn, "Update URL")) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
801 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
802 char tempUrl[1024]; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
803 strncpy(tempUrl, urlInput, sizeof(tempUrl) - 1); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
804 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
805 // Remove existing params if any |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
806 char *questionMark = strchr(tempUrl, '?'); |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
807 if (questionMark) *questionMark = '\0'; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
808 |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
809 Postdog_UpdateUrlWithParams(urlInput, sizeof(urlInput), tempUrl, paramsInput); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
810 } |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
811 break; |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
812 } |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
813 } |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
814 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
815 if ((IsKeyDown(KEY_LEFT_SUPER) || IsKeyDown(KEY_LEFT_CONTROL)) && IsKeyPressed(KEY_C)) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
816 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
817 SetClipboardText(copyFromInput); |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
818 } |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
819 |
|
57
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
820 Rectangle editBtn = { textArea.x + textArea.width - 60, textArea.y + textArea.height - 10, 50, 20 }; |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
821 if (GuiButton(editBtn, "Edit")) |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
822 { |
|
d4cdb87212fb
[PostDog] Working version.
June Park <parkjune1995@gmail.com>
parents:
54
diff
changeset
|
823 *currentMode = !(*currentMode); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
824 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
825 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
826 // Response Panel with scroll |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
827 GuiGroupBox(responsePanel, "Response"); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
828 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
829 Rectangle responseArea = { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
830 responsePanel.x + 10, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
831 responsePanel.y + 30, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
832 responsePanel.width - 20, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
833 responsePanel.height - 40 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
834 }; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
835 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
836 // Manual scroll for response |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
837 if (CheckCollisionPointRec(GetMousePosition(), responseArea)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
838 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
839 float wheel = GetMouseWheelMove(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
840 responseScroll.y += wheel * 20; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
841 if (responseScroll.y < 0) responseScroll.y = 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
842 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
843 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
844 // Draw border |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
845 DrawRectangleLinesEx(responseArea, 1, GRAY); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
846 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
847 // Draw response text with scroll |
|
63
fff1b048dda6
[Postdog] Fixed a problem where string did not wrap.
June Park <parkjune1995@gmail.com>
parents:
58
diff
changeset
|
848 PostDog_Render_TextWithScroll(responseArea, responseScroll, responseText); |
|
54
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
849 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
850 if ((IsKeyDown(KEY_LEFT_SUPER) || IsKeyDown(KEY_LEFT_CONTROL)) && IsKeyPressed(KEY_C)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
851 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
852 if (CheckCollisionPointRec(GetMousePosition(), responseArea)) { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
853 SetClipboardText(responseText); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
854 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
855 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
856 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
857 // --- Edit modal ---- |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
858 if (jsonEditMode) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
859 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
860 GuiTextBox( |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
861 (Rectangle){ screenWidth/2 - 300, screenHeight/2 - 200, 600, 400 }, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
862 jsonInput, JSON_INPUT_BUFFER_LEN, true); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
863 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
864 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
865 if (headersEditMode) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
866 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
867 GuiTextBox( |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
868 (Rectangle){ screenWidth/2 - 300, screenHeight/2 - 200, 600, 400 }, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
869 headersInput, HEADER_INPUT_BUFFER_LEN, true); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
870 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
871 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
872 if (paramsEditMode) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
873 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
874 GuiTextBox( |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
875 (Rectangle){ screenWidth/2 - 300, screenHeight/2 - 200, 600, 400 }, |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
876 paramsInput, PARAM_INPUT_BUFFER_LEN, true); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
877 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
878 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
879 if (GuiDropdownBox(methodButton, "GET;POST;PUT;DELETE", &methodActive, methodDropdown)) |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
880 { |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
881 methodDropdown = !methodDropdown; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
882 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
883 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
884 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
885 EndDrawing(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
886 } |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
887 |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
888 CloseWindow(); |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
889 return 0; |
|
b3e82d22f961
[PostDog] Initial commit BROKEN
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
890 } |