|
1 | 1 | package api
|
2 | 2 |
|
3 | 3 | import (
|
4 |
| - "bytes" |
5 | 4 | "encoding/json"
|
6 | 5 | "github.com/meyskens/go-turnstile"
|
7 | 6 | "image"
|
8 | 7 | _ "image/png"
|
9 |
| - "io/ioutil" |
10 | 8 | "meteor-server/pkg/discord"
|
11 | 9 | "net/http"
|
12 | 10 | "os"
|
@@ -258,86 +256,51 @@ func McAccountHandler(w http.ResponseWriter, r *http.Request) {
|
258 | 256 |
|
259 | 257 | if r.Method == "POST" {
|
260 | 258 | code := r.URL.Query().Get("code")
|
| 259 | + if code == "" { |
| 260 | + core.JsonError(w, "Invalid code") |
| 261 | + return |
| 262 | + } |
261 | 263 |
|
262 |
| - if code != "" { |
263 |
| - res, err := http.Get("http://mcauth:8080/retrieve/" + code) |
264 |
| - if err != nil { |
265 |
| - core.JsonError(w, "Failed to retrieve code's UUID. "+err.Error()) |
266 |
| - return |
267 |
| - } |
268 |
| - |
269 |
| - //goland:noinspection GoUnhandledErrorResult |
270 |
| - defer res.Body.Close() |
271 |
| - |
272 |
| - if res.StatusCode != http.StatusOK { |
273 |
| - var data struct{ Error string } |
274 |
| - |
275 |
| - err := json.NewDecoder(res.Body).Decode(&data) |
276 |
| - if err != nil { |
277 |
| - core.JsonError(w, "Failed to parse code's UUID Error") |
278 |
| - return |
279 |
| - } |
280 |
| - |
281 |
| - core.JsonError(w, data.Error) |
282 |
| - return |
283 |
| - } |
| 264 | + res, err := http.Get("http://mcauth:8080/retrieve/" + code) |
| 265 | + if err != nil { |
| 266 | + core.JsonError(w, "Failed to retrieve code's UUID. "+err.Error()) |
| 267 | + return |
| 268 | + } |
284 | 269 |
|
285 |
| - var data struct{ Uuid string } |
| 270 | + //goland:noinspection GoUnhandledErrorResult |
| 271 | + defer res.Body.Close() |
286 | 272 |
|
287 |
| - err = json.NewDecoder(res.Body).Decode(&data) |
288 |
| - if err != nil { |
289 |
| - core.JsonError(w, "Failed to parse code's UUID") |
290 |
| - return |
291 |
| - } |
| 273 | + if res.StatusCode != http.StatusOK { |
| 274 | + var data struct{ Error string } |
292 | 275 |
|
293 |
| - id, err := uuid.Parse(data.Uuid) |
| 276 | + err := json.NewDecoder(res.Body).Decode(&data) |
294 | 277 | if err != nil {
|
295 |
| - core.JsonError(w, "Invalid UUID") |
| 278 | + core.JsonError(w, "Failed to parse code's UUID Error") |
296 | 279 | return
|
297 | 280 | }
|
298 | 281 |
|
299 |
| - err = account.AddMcAccount(id) |
300 |
| - if err != nil { |
301 |
| - core.JsonError(w, err.Error()) |
302 |
| - return |
303 |
| - } |
304 |
| - } else { |
305 |
| - // Get Minecraft username |
306 |
| - username := r.URL.Query().Get("username") |
307 |
| - if username == "" { |
308 |
| - core.JsonError(w, "Invalid username 1.") |
309 |
| - return |
310 |
| - } |
311 |
| - |
312 |
| - // Get uuid |
313 |
| - req, _ := http.NewRequest("GET", "https://api.mojang.com/users/profiles/minecraft/"+username, bytes.NewReader([]byte{})) |
314 |
| - req.Header.Set("User-Agent", "Meteor Server") |
315 |
| - |
316 |
| - client := http.Client{} |
317 |
| - res, err := client.Do(req) |
318 |
| - if err != nil { |
319 |
| - core.JsonError(w, "Invalid username 2.") |
320 |
| - return |
321 |
| - } |
| 282 | + core.JsonError(w, data.Error) |
| 283 | + return |
| 284 | + } |
322 | 285 |
|
323 |
| - body, _ := ioutil.ReadAll(res.Body) |
324 |
| - var user mcUser |
325 |
| - _ = json.Unmarshal(body, &user) |
| 286 | + var data struct{ Uuid string } |
326 | 287 |
|
327 |
| - _ = res.Body.Close() |
| 288 | + err = json.NewDecoder(res.Body).Decode(&data) |
| 289 | + if err != nil { |
| 290 | + core.JsonError(w, "Failed to parse code's UUID") |
| 291 | + return |
| 292 | + } |
328 | 293 |
|
329 |
| - id, err := uuid.Parse(user.Id) |
330 |
| - if err != nil { |
331 |
| - core.JsonError(w, "Invalid username 3. "+err.Error()) |
332 |
| - return |
333 |
| - } |
| 294 | + id, err := uuid.Parse(data.Uuid) |
| 295 | + if err != nil { |
| 296 | + core.JsonError(w, "Invalid UUID") |
| 297 | + return |
| 298 | + } |
334 | 299 |
|
335 |
| - // Add Minecraft account |
336 |
| - err = account.AddMcAccount(id) |
337 |
| - if err != nil { |
338 |
| - core.JsonError(w, err.Error()) |
339 |
| - return |
340 |
| - } |
| 300 | + err = account.AddMcAccount(id) |
| 301 | + if err != nil { |
| 302 | + core.JsonError(w, err.Error()) |
| 303 | + return |
341 | 304 | }
|
342 | 305 |
|
343 | 306 | UpdateCapes()
|
|
0 commit comments