README 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # go-pkparse-server
  2. `go-pkparse-server` is a multi-generational pokemon parser written in Go.
  3. ### API Usage
  4. ##### `POST /parse`
  5. Query Params:
  6. | Param | Required | Description |
  7. | --- | --- | --- |
  8. | pkmn | ✔️ | One more pk7 files uploaded in a multipart form |
  9. Response:
  10. | Param | Description |
  11. | --- | --- |
  12. | pokedex_number | National pokedex number of the pokemon |
  13. | nickname | The UTF-16LE encoded nickname of the pokemon |
  14. | raw_nickname | Base 64 encoded byte string of the pokemon's nickname |
  15. | raw_pokemon | Base 64 encoded byte string of the entire pokemon data |
  16. Sample request and response:
  17. `curl -X POST http://localhost:8080/parse -F "pkmn=/path/to/thefile.pk7" -F "pkmn=/path/to/anotherfile.pk7" -H "Content-Type: multipart/form-data"`:
  18. ```
  19. {
  20. [
  21. {
  22. "nickname" : "R\u0000a\u0000t\u0000i\u0000c\u0000a\u0000t\u0000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
  23. "pokedex_number" : 20,
  24. "raw_nickname" : "UgBhAHQAaQBjAGEAdABlAAAAAAAAAAAA",
  25. "raw_pokemon" : "ewMXgQAA3QEUAAAAbaoyREAfAAAvBAAAQ1aIAxISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFIAYQB0AGkAYwBhAHQAZQAAAAAAAAAAAAAApAB1AVMBngAKDxQPAAAAAAAAAAAAAAAAAAA8/P8XUABQAG8AcgBnAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAARgAAAAAAAAAAAAAAAABQAFAAbwByAGcAAAAAAAAAAAAAAAAAAAAAAEYAAAAAAAAAAAARCxIAAADKAAQUACEBAgACAAAAAA=="
  26. },
  27. {
  28. "nickname" : "P\u0000i\u0000k\u0000a\u0000c\u0000h\u0000u\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
  29. "pokedex_number" : 25,
  30. "raw_nickname" : "UABpAGsAYQBjAGgAdQAAAAAAAAAAAAAA",
  31. "raw_pokemon" : "wJsMkgAAN4IZAAAA0qVgJQAAAAAJAQAA7DtV5QAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAFAAaQBrAGEAYwBoAHUAAAAAAAAAAAAAAAAA8QFVABgB5wAPDw8PAAAAAFUAYgBXAGEAAAAWYq41UABQAG8AcgBnAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAARgAAAAAAAAAAAAAAAABBAHMAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAAAAAAAAAAAARChAAAABBnAQBAB9OAAICAAAAAA=="
  32. }
  33. ]
  34. }
  35. ```
  36. Sample error response:
  37. | Param | Description |
  38. | --- | --- |
  39. | error | description of the error |
  40. Example error:
  41. `curl -X POST http://localhost:8080/parse -F "pkmn=/path/to/an/invalidfile.pk7" -H "Content-Type: multipart/form-data"`:
  42. ```
  43. {
  44. "error": "Invalid length for generation 7 pokemon: 229 bytes"
  45. }
  46. ```