2380 lines
		
	
	
		
			52 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			2380 lines
		
	
	
		
			52 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Code generated by ogen, DO NOT EDIT.
 | 
						||
 | 
						||
package api
 | 
						||
 | 
						||
import (
 | 
						||
	"net/http"
 | 
						||
	"net/url"
 | 
						||
	"strings"
 | 
						||
 | 
						||
	"github.com/ogen-go/ogen/uri"
 | 
						||
)
 | 
						||
 | 
						||
func (s *Server) cutPrefix(path string) (string, bool) {
 | 
						||
	prefix := s.cfg.Prefix
 | 
						||
	if prefix == "" {
 | 
						||
		return path, true
 | 
						||
	}
 | 
						||
	if !strings.HasPrefix(path, prefix) {
 | 
						||
		// Prefix doesn't match.
 | 
						||
		return "", false
 | 
						||
	}
 | 
						||
	// Cut prefix from the path.
 | 
						||
	return strings.TrimPrefix(path, prefix), true
 | 
						||
}
 | 
						||
 | 
						||
// ServeHTTP serves http request as defined by OpenAPI v3 specification,
 | 
						||
// calling handler that matches the path or returning not found error.
 | 
						||
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 | 
						||
	elem := r.URL.Path
 | 
						||
	elemIsEscaped := false
 | 
						||
	if rawPath := r.URL.RawPath; rawPath != "" {
 | 
						||
		if normalized, ok := uri.NormalizeEscapedPath(rawPath); ok {
 | 
						||
			elem = normalized
 | 
						||
			elemIsEscaped = strings.ContainsRune(elem, '%')
 | 
						||
		}
 | 
						||
	}
 | 
						||
 | 
						||
	elem, ok := s.cutPrefix(elem)
 | 
						||
	if !ok || len(elem) == 0 {
 | 
						||
		s.notFound(w, r)
 | 
						||
		return
 | 
						||
	}
 | 
						||
	args := [1]string{}
 | 
						||
 | 
						||
	// Static code generated router with unwrapped path search.
 | 
						||
	switch {
 | 
						||
	default:
 | 
						||
		if len(elem) == 0 {
 | 
						||
			break
 | 
						||
		}
 | 
						||
		switch elem[0] {
 | 
						||
		case '/': // Prefix: "/"
 | 
						||
 | 
						||
			if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
 | 
						||
				elem = elem[l:]
 | 
						||
			} else {
 | 
						||
				break
 | 
						||
			}
 | 
						||
 | 
						||
			if len(elem) == 0 {
 | 
						||
				break
 | 
						||
			}
 | 
						||
			switch elem[0] {
 | 
						||
			case 'a': // Prefix: "api/v"
 | 
						||
 | 
						||
				if l := len("api/v"); len(elem) >= l && elem[0:l] == "api/v" {
 | 
						||
					elem = elem[l:]
 | 
						||
				} else {
 | 
						||
					break
 | 
						||
				}
 | 
						||
 | 
						||
				if len(elem) == 0 {
 | 
						||
					break
 | 
						||
				}
 | 
						||
				switch elem[0] {
 | 
						||
				case '2': // Prefix: "2/"
 | 
						||
 | 
						||
					if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'b': // Prefix: "buffer/"
 | 
						||
 | 
						||
						if l := len("buffer/"); len(elem) >= l && elem[0:l] == "buffer/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'g': // Prefix: "goods/task"
 | 
						||
 | 
						||
							if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleAPIV2BufferGoodsTaskGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "tasks"
 | 
						||
 | 
						||
							if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleAPIV2BufferTasksGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'h': // Prefix: "history/"
 | 
						||
 | 
						||
						if l := len("history/"); len(elem) >= l && elem[0:l] == "history/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'g': // Prefix: "goods/task"
 | 
						||
 | 
						||
							if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleAPIV2HistoryGoodsTaskGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "tasks"
 | 
						||
 | 
						||
							if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleAPIV2HistoryTasksGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'l': // Prefix: "list/goods/"
 | 
						||
 | 
						||
						if l := len("list/goods/"); len(elem) >= l && elem[0:l] == "list/goods/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'f': // Prefix: "filter"
 | 
						||
 | 
						||
							if l := len("filter"); len(elem) >= l && elem[0:l] == "filter" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleAPIV2ListGoodsFilterGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 's': // Prefix: "size/nm"
 | 
						||
 | 
						||
							if l := len("size/nm"); len(elem) >= l && elem[0:l] == "size/nm" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleAPIV2ListGoodsSizeNmGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'q': // Prefix: "quarantine/goods"
 | 
						||
 | 
						||
						if l := len("quarantine/goods"); len(elem) >= l && elem[0:l] == "quarantine/goods" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch r.Method {
 | 
						||
							case "GET":
 | 
						||
								s.handleAPIV2QuarantineGoodsGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "GET")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
 | 
						||
					case 'u': // Prefix: "upload/task"
 | 
						||
 | 
						||
						if l := len("upload/task"); len(elem) >= l && elem[0:l] == "upload/task" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							switch r.Method {
 | 
						||
							case "POST":
 | 
						||
								s.handleAPIV2UploadTaskPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "POST")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case '/': // Prefix: "/"
 | 
						||
 | 
						||
							if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							switch elem[0] {
 | 
						||
							case 'c': // Prefix: "club-discount"
 | 
						||
 | 
						||
								if l := len("club-discount"); len(elem) >= l && elem[0:l] == "club-discount" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch r.Method {
 | 
						||
									case "POST":
 | 
						||
										s.handleAPIV2UploadTaskClubDiscountPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
									default:
 | 
						||
										s.notAllowed(w, r, "POST")
 | 
						||
									}
 | 
						||
 | 
						||
									return
 | 
						||
								}
 | 
						||
 | 
						||
							case 's': // Prefix: "size"
 | 
						||
 | 
						||
								if l := len("size"); len(elem) >= l && elem[0:l] == "size" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch r.Method {
 | 
						||
									case "POST":
 | 
						||
										s.handleAPIV2UploadTaskSizePostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
									default:
 | 
						||
										s.notAllowed(w, r, "POST")
 | 
						||
									}
 | 
						||
 | 
						||
									return
 | 
						||
								}
 | 
						||
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				case '3': // Prefix: "3/"
 | 
						||
 | 
						||
					if l := len("3/"); len(elem) >= l && elem[0:l] == "3/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'o': // Prefix: "offices"
 | 
						||
 | 
						||
						if l := len("offices"); len(elem) >= l && elem[0:l] == "offices" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch r.Method {
 | 
						||
							case "GET":
 | 
						||
								s.handleAPIV3OfficesGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "GET")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
 | 
						||
					case 's': // Prefix: "stocks/"
 | 
						||
 | 
						||
						if l := len("stocks/"); len(elem) >= l && elem[0:l] == "stocks/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						// Param: "warehouseId"
 | 
						||
						// Leaf parameter, slashes are prohibited
 | 
						||
						idx := strings.IndexByte(elem, '/')
 | 
						||
						if idx >= 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						args[0] = elem
 | 
						||
						elem = ""
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch r.Method {
 | 
						||
							case "DELETE":
 | 
						||
								s.handleAPIV3StocksWarehouseIdDeleteRequest([1]string{
 | 
						||
									args[0],
 | 
						||
								}, elemIsEscaped, w, r)
 | 
						||
							case "POST":
 | 
						||
								s.handleAPIV3StocksWarehouseIdPostRequest([1]string{
 | 
						||
									args[0],
 | 
						||
								}, elemIsEscaped, w, r)
 | 
						||
							case "PUT":
 | 
						||
								s.handleAPIV3StocksWarehouseIdPutRequest([1]string{
 | 
						||
									args[0],
 | 
						||
								}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "DELETE,POST,PUT")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
 | 
						||
					case 'w': // Prefix: "warehouses"
 | 
						||
 | 
						||
						if l := len("warehouses"); len(elem) >= l && elem[0:l] == "warehouses" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							switch r.Method {
 | 
						||
							case "GET":
 | 
						||
								s.handleAPIV3WarehousesGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							case "POST":
 | 
						||
								s.handleAPIV3WarehousesPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "GET,POST")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case '/': // Prefix: "/"
 | 
						||
 | 
						||
							if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							// Param: "warehouseId"
 | 
						||
							// Leaf parameter, slashes are prohibited
 | 
						||
							idx := strings.IndexByte(elem, '/')
 | 
						||
							if idx >= 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							args[0] = elem
 | 
						||
							elem = ""
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "DELETE":
 | 
						||
									s.handleAPIV3WarehousesWarehouseIdDeleteRequest([1]string{
 | 
						||
										args[0],
 | 
						||
									}, elemIsEscaped, w, r)
 | 
						||
								case "PUT":
 | 
						||
									s.handleAPIV3WarehousesWarehouseIdPutRequest([1]string{
 | 
						||
										args[0],
 | 
						||
									}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "DELETE,PUT")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				}
 | 
						||
 | 
						||
			case 'c': // Prefix: "content/v"
 | 
						||
 | 
						||
				if l := len("content/v"); len(elem) >= l && elem[0:l] == "content/v" {
 | 
						||
					elem = elem[l:]
 | 
						||
				} else {
 | 
						||
					break
 | 
						||
				}
 | 
						||
 | 
						||
				if len(elem) == 0 {
 | 
						||
					break
 | 
						||
				}
 | 
						||
				switch elem[0] {
 | 
						||
				case '2': // Prefix: "2/"
 | 
						||
 | 
						||
					if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'b': // Prefix: "barcodes"
 | 
						||
 | 
						||
						if l := len("barcodes"); len(elem) >= l && elem[0:l] == "barcodes" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch r.Method {
 | 
						||
							case "POST":
 | 
						||
								s.handleContentV2BarcodesPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "POST")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
 | 
						||
					case 'c': // Prefix: "cards/"
 | 
						||
 | 
						||
						if l := len("cards/"); len(elem) >= l && elem[0:l] == "cards/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'd': // Prefix: "delete/trash"
 | 
						||
 | 
						||
							if l := len("delete/trash"); len(elem) >= l && elem[0:l] == "delete/trash" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "POST":
 | 
						||
									s.handleContentV2CardsDeleteTrashPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "POST")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 'e': // Prefix: "error/list"
 | 
						||
 | 
						||
							if l := len("error/list"); len(elem) >= l && elem[0:l] == "error/list" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2CardsErrorListGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 'l': // Prefix: "limits"
 | 
						||
 | 
						||
							if l := len("limits"); len(elem) >= l && elem[0:l] == "limits" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2CardsLimitsGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 'r': // Prefix: "recover"
 | 
						||
 | 
						||
							if l := len("recover"); len(elem) >= l && elem[0:l] == "recover" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "POST":
 | 
						||
									s.handleContentV2CardsRecoverPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "POST")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 'u': // Prefix: "up"
 | 
						||
 | 
						||
							if l := len("up"); len(elem) >= l && elem[0:l] == "up" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							switch elem[0] {
 | 
						||
							case 'd': // Prefix: "date"
 | 
						||
 | 
						||
								if l := len("date"); len(elem) >= l && elem[0:l] == "date" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch r.Method {
 | 
						||
									case "POST":
 | 
						||
										s.handleContentV2CardsUpdatePostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
									default:
 | 
						||
										s.notAllowed(w, r, "POST")
 | 
						||
									}
 | 
						||
 | 
						||
									return
 | 
						||
								}
 | 
						||
 | 
						||
							case 'l': // Prefix: "load"
 | 
						||
 | 
						||
								if l := len("load"); len(elem) >= l && elem[0:l] == "load" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									switch r.Method {
 | 
						||
									case "POST":
 | 
						||
										s.handleContentV2CardsUploadPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
									default:
 | 
						||
										s.notAllowed(w, r, "POST")
 | 
						||
									}
 | 
						||
 | 
						||
									return
 | 
						||
								}
 | 
						||
								switch elem[0] {
 | 
						||
								case '/': // Prefix: "/add"
 | 
						||
 | 
						||
									if l := len("/add"); len(elem) >= l && elem[0:l] == "/add" {
 | 
						||
										elem = elem[l:]
 | 
						||
									} else {
 | 
						||
										break
 | 
						||
									}
 | 
						||
 | 
						||
									if len(elem) == 0 {
 | 
						||
										// Leaf node.
 | 
						||
										switch r.Method {
 | 
						||
										case "POST":
 | 
						||
											s.handleContentV2CardsUploadAddPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
										default:
 | 
						||
											s.notAllowed(w, r, "POST")
 | 
						||
										}
 | 
						||
 | 
						||
										return
 | 
						||
									}
 | 
						||
 | 
						||
								}
 | 
						||
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'd': // Prefix: "directory/"
 | 
						||
 | 
						||
						if l := len("directory/"); len(elem) >= l && elem[0:l] == "directory/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'c': // Prefix: "co"
 | 
						||
 | 
						||
							if l := len("co"); len(elem) >= l && elem[0:l] == "co" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							switch elem[0] {
 | 
						||
							case 'l': // Prefix: "lors"
 | 
						||
 | 
						||
								if l := len("lors"); len(elem) >= l && elem[0:l] == "lors" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch r.Method {
 | 
						||
									case "GET":
 | 
						||
										s.handleContentV2DirectoryColorsGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
									default:
 | 
						||
										s.notAllowed(w, r, "GET")
 | 
						||
									}
 | 
						||
 | 
						||
									return
 | 
						||
								}
 | 
						||
 | 
						||
							case 'u': // Prefix: "untries"
 | 
						||
 | 
						||
								if l := len("untries"); len(elem) >= l && elem[0:l] == "untries" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch r.Method {
 | 
						||
									case "GET":
 | 
						||
										s.handleContentV2DirectoryCountriesGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
									default:
 | 
						||
										s.notAllowed(w, r, "GET")
 | 
						||
									}
 | 
						||
 | 
						||
									return
 | 
						||
								}
 | 
						||
 | 
						||
							}
 | 
						||
 | 
						||
						case 'k': // Prefix: "kinds"
 | 
						||
 | 
						||
							if l := len("kinds"); len(elem) >= l && elem[0:l] == "kinds" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2DirectoryKindsGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 's': // Prefix: "seasons"
 | 
						||
 | 
						||
							if l := len("seasons"); len(elem) >= l && elem[0:l] == "seasons" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2DirectorySeasonsGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "tnved"
 | 
						||
 | 
						||
							if l := len("tnved"); len(elem) >= l && elem[0:l] == "tnved" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2DirectoryTnvedGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 'v': // Prefix: "vat"
 | 
						||
 | 
						||
							if l := len("vat"); len(elem) >= l && elem[0:l] == "vat" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2DirectoryVatGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'g': // Prefix: "get/cards/"
 | 
						||
 | 
						||
						if l := len("get/cards/"); len(elem) >= l && elem[0:l] == "get/cards/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'l': // Prefix: "list"
 | 
						||
 | 
						||
							if l := len("list"); len(elem) >= l && elem[0:l] == "list" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "POST":
 | 
						||
									s.handleContentV2GetCardsListPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "POST")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "trash"
 | 
						||
 | 
						||
							if l := len("trash"); len(elem) >= l && elem[0:l] == "trash" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "POST":
 | 
						||
									s.handleContentV2GetCardsTrashPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "POST")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'o': // Prefix: "object/"
 | 
						||
 | 
						||
						if l := len("object/"); len(elem) >= l && elem[0:l] == "object/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'a': // Prefix: "all"
 | 
						||
 | 
						||
							if l := len("all"); len(elem) >= l && elem[0:l] == "all" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2ObjectAllGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 'c': // Prefix: "charcs/"
 | 
						||
 | 
						||
							if l := len("charcs/"); len(elem) >= l && elem[0:l] == "charcs/" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							// Param: "subjectId"
 | 
						||
							// Leaf parameter, slashes are prohibited
 | 
						||
							idx := strings.IndexByte(elem, '/')
 | 
						||
							if idx >= 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							args[0] = elem
 | 
						||
							elem = ""
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2ObjectCharcsSubjectIdGetRequest([1]string{
 | 
						||
										args[0],
 | 
						||
									}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 'p': // Prefix: "parent/all"
 | 
						||
 | 
						||
							if l := len("parent/all"); len(elem) >= l && elem[0:l] == "parent/all" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2ObjectParentAllGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 't': // Prefix: "tag"
 | 
						||
 | 
						||
						if l := len("tag"); len(elem) >= l && elem[0:l] == "tag" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case '/': // Prefix: "/nomenclature/link"
 | 
						||
 | 
						||
							if l := len("/nomenclature/link"); len(elem) >= l && elem[0:l] == "/nomenclature/link" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "POST":
 | 
						||
									s.handleContentV2TagNomenclatureLinkPostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "POST")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						case 's': // Prefix: "s"
 | 
						||
 | 
						||
							if l := len("s"); len(elem) >= l && elem[0:l] == "s" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch r.Method {
 | 
						||
								case "GET":
 | 
						||
									s.handleContentV2TagsGetRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
								default:
 | 
						||
									s.notAllowed(w, r, "GET")
 | 
						||
								}
 | 
						||
 | 
						||
								return
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				case '3': // Prefix: "3/media/"
 | 
						||
 | 
						||
					if l := len("3/media/"); len(elem) >= l && elem[0:l] == "3/media/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'f': // Prefix: "file"
 | 
						||
 | 
						||
						if l := len("file"); len(elem) >= l && elem[0:l] == "file" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch r.Method {
 | 
						||
							case "POST":
 | 
						||
								s.handleContentV3MediaFilePostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "POST")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
 | 
						||
					case 's': // Prefix: "save"
 | 
						||
 | 
						||
						if l := len("save"); len(elem) >= l && elem[0:l] == "save" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch r.Method {
 | 
						||
							case "POST":
 | 
						||
								s.handleContentV3MediaSavePostRequest([0]string{}, elemIsEscaped, w, r)
 | 
						||
							default:
 | 
						||
								s.notAllowed(w, r, "POST")
 | 
						||
							}
 | 
						||
 | 
						||
							return
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				}
 | 
						||
 | 
						||
			}
 | 
						||
 | 
						||
		}
 | 
						||
	}
 | 
						||
	s.notFound(w, r)
 | 
						||
}
 | 
						||
 | 
						||
// Route is route object.
 | 
						||
type Route struct {
 | 
						||
	name        string
 | 
						||
	summary     string
 | 
						||
	operationID string
 | 
						||
	pathPattern string
 | 
						||
	count       int
 | 
						||
	args        [1]string
 | 
						||
}
 | 
						||
 | 
						||
// Name returns ogen operation name.
 | 
						||
//
 | 
						||
// It is guaranteed to be unique and not empty.
 | 
						||
func (r Route) Name() string {
 | 
						||
	return r.name
 | 
						||
}
 | 
						||
 | 
						||
// Summary returns OpenAPI summary.
 | 
						||
func (r Route) Summary() string {
 | 
						||
	return r.summary
 | 
						||
}
 | 
						||
 | 
						||
// OperationID returns OpenAPI operationId.
 | 
						||
func (r Route) OperationID() string {
 | 
						||
	return r.operationID
 | 
						||
}
 | 
						||
 | 
						||
// PathPattern returns OpenAPI path.
 | 
						||
func (r Route) PathPattern() string {
 | 
						||
	return r.pathPattern
 | 
						||
}
 | 
						||
 | 
						||
// Args returns parsed arguments.
 | 
						||
func (r Route) Args() []string {
 | 
						||
	return r.args[:r.count]
 | 
						||
}
 | 
						||
 | 
						||
// FindRoute finds Route for given method and path.
 | 
						||
//
 | 
						||
// Note: this method does not unescape path or handle reserved characters in path properly. Use FindPath instead.
 | 
						||
func (s *Server) FindRoute(method, path string) (Route, bool) {
 | 
						||
	return s.FindPath(method, &url.URL{Path: path})
 | 
						||
}
 | 
						||
 | 
						||
// FindPath finds Route for given method and URL.
 | 
						||
func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
 | 
						||
	var (
 | 
						||
		elem = u.Path
 | 
						||
		args = r.args
 | 
						||
	)
 | 
						||
	if rawPath := u.RawPath; rawPath != "" {
 | 
						||
		if normalized, ok := uri.NormalizeEscapedPath(rawPath); ok {
 | 
						||
			elem = normalized
 | 
						||
		}
 | 
						||
		defer func() {
 | 
						||
			for i, arg := range r.args[:r.count] {
 | 
						||
				if unescaped, err := url.PathUnescape(arg); err == nil {
 | 
						||
					r.args[i] = unescaped
 | 
						||
				}
 | 
						||
			}
 | 
						||
		}()
 | 
						||
	}
 | 
						||
 | 
						||
	elem, ok := s.cutPrefix(elem)
 | 
						||
	if !ok {
 | 
						||
		return r, false
 | 
						||
	}
 | 
						||
 | 
						||
	// Static code generated router with unwrapped path search.
 | 
						||
	switch {
 | 
						||
	default:
 | 
						||
		if len(elem) == 0 {
 | 
						||
			break
 | 
						||
		}
 | 
						||
		switch elem[0] {
 | 
						||
		case '/': // Prefix: "/"
 | 
						||
 | 
						||
			if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
 | 
						||
				elem = elem[l:]
 | 
						||
			} else {
 | 
						||
				break
 | 
						||
			}
 | 
						||
 | 
						||
			if len(elem) == 0 {
 | 
						||
				break
 | 
						||
			}
 | 
						||
			switch elem[0] {
 | 
						||
			case 'a': // Prefix: "api/v"
 | 
						||
 | 
						||
				if l := len("api/v"); len(elem) >= l && elem[0:l] == "api/v" {
 | 
						||
					elem = elem[l:]
 | 
						||
				} else {
 | 
						||
					break
 | 
						||
				}
 | 
						||
 | 
						||
				if len(elem) == 0 {
 | 
						||
					break
 | 
						||
				}
 | 
						||
				switch elem[0] {
 | 
						||
				case '2': // Prefix: "2/"
 | 
						||
 | 
						||
					if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'b': // Prefix: "buffer/"
 | 
						||
 | 
						||
						if l := len("buffer/"); len(elem) >= l && elem[0:l] == "buffer/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'g': // Prefix: "goods/task"
 | 
						||
 | 
						||
							if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = APIV2BufferGoodsTaskGetOperation
 | 
						||
									r.summary = "Детализация необработанной загрузки"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v2/buffer/goods/task"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "tasks"
 | 
						||
 | 
						||
							if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = APIV2BufferTasksGetOperation
 | 
						||
									r.summary = "Состояние необработанной загрузки"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v2/buffer/tasks"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'h': // Prefix: "history/"
 | 
						||
 | 
						||
						if l := len("history/"); len(elem) >= l && elem[0:l] == "history/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'g': // Prefix: "goods/task"
 | 
						||
 | 
						||
							if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = APIV2HistoryGoodsTaskGetOperation
 | 
						||
									r.summary = "Детализация обработанной загрузки"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v2/history/goods/task"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "tasks"
 | 
						||
 | 
						||
							if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = APIV2HistoryTasksGetOperation
 | 
						||
									r.summary = "Состояние обработанной загрузки"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v2/history/tasks"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'l': // Prefix: "list/goods/"
 | 
						||
 | 
						||
						if l := len("list/goods/"); len(elem) >= l && elem[0:l] == "list/goods/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'f': // Prefix: "filter"
 | 
						||
 | 
						||
							if l := len("filter"); len(elem) >= l && elem[0:l] == "filter" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = APIV2ListGoodsFilterGetOperation
 | 
						||
									r.summary = "Получить товары с ценами"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v2/list/goods/filter"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 's': // Prefix: "size/nm"
 | 
						||
 | 
						||
							if l := len("size/nm"); len(elem) >= l && elem[0:l] == "size/nm" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = APIV2ListGoodsSizeNmGetOperation
 | 
						||
									r.summary = "Получить размеры товара с ценами"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v2/list/goods/size/nm"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'q': // Prefix: "quarantine/goods"
 | 
						||
 | 
						||
						if l := len("quarantine/goods"); len(elem) >= l && elem[0:l] == "quarantine/goods" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch method {
 | 
						||
							case "GET":
 | 
						||
								r.name = APIV2QuarantineGoodsGetOperation
 | 
						||
								r.summary = "Получить товары в карантине"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v2/quarantine/goods"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
 | 
						||
					case 'u': // Prefix: "upload/task"
 | 
						||
 | 
						||
						if l := len("upload/task"); len(elem) >= l && elem[0:l] == "upload/task" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							switch method {
 | 
						||
							case "POST":
 | 
						||
								r.name = APIV2UploadTaskPostOperation
 | 
						||
								r.summary = "Установить цены и скидки"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v2/upload/task"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case '/': // Prefix: "/"
 | 
						||
 | 
						||
							if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							switch elem[0] {
 | 
						||
							case 'c': // Prefix: "club-discount"
 | 
						||
 | 
						||
								if l := len("club-discount"); len(elem) >= l && elem[0:l] == "club-discount" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch method {
 | 
						||
									case "POST":
 | 
						||
										r.name = APIV2UploadTaskClubDiscountPostOperation
 | 
						||
										r.summary = "Установить скидки WB Клуба"
 | 
						||
										r.operationID = ""
 | 
						||
										r.pathPattern = "/api/v2/upload/task/club-discount"
 | 
						||
										r.args = args
 | 
						||
										r.count = 0
 | 
						||
										return r, true
 | 
						||
									default:
 | 
						||
										return
 | 
						||
									}
 | 
						||
								}
 | 
						||
 | 
						||
							case 's': // Prefix: "size"
 | 
						||
 | 
						||
								if l := len("size"); len(elem) >= l && elem[0:l] == "size" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch method {
 | 
						||
									case "POST":
 | 
						||
										r.name = APIV2UploadTaskSizePostOperation
 | 
						||
										r.summary = "Установить цены для размеров"
 | 
						||
										r.operationID = ""
 | 
						||
										r.pathPattern = "/api/v2/upload/task/size"
 | 
						||
										r.args = args
 | 
						||
										r.count = 0
 | 
						||
										return r, true
 | 
						||
									default:
 | 
						||
										return
 | 
						||
									}
 | 
						||
								}
 | 
						||
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				case '3': // Prefix: "3/"
 | 
						||
 | 
						||
					if l := len("3/"); len(elem) >= l && elem[0:l] == "3/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'o': // Prefix: "offices"
 | 
						||
 | 
						||
						if l := len("offices"); len(elem) >= l && elem[0:l] == "offices" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch method {
 | 
						||
							case "GET":
 | 
						||
								r.name = APIV3OfficesGetOperation
 | 
						||
								r.summary = "Получить список складов WB"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v3/offices"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
 | 
						||
					case 's': // Prefix: "stocks/"
 | 
						||
 | 
						||
						if l := len("stocks/"); len(elem) >= l && elem[0:l] == "stocks/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						// Param: "warehouseId"
 | 
						||
						// Leaf parameter, slashes are prohibited
 | 
						||
						idx := strings.IndexByte(elem, '/')
 | 
						||
						if idx >= 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						args[0] = elem
 | 
						||
						elem = ""
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch method {
 | 
						||
							case "DELETE":
 | 
						||
								r.name = APIV3StocksWarehouseIdDeleteOperation
 | 
						||
								r.summary = "Удалить остатки товаров"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v3/stocks/{warehouseId}"
 | 
						||
								r.args = args
 | 
						||
								r.count = 1
 | 
						||
								return r, true
 | 
						||
							case "POST":
 | 
						||
								r.name = APIV3StocksWarehouseIdPostOperation
 | 
						||
								r.summary = "Получить остатки товаров"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v3/stocks/{warehouseId}"
 | 
						||
								r.args = args
 | 
						||
								r.count = 1
 | 
						||
								return r, true
 | 
						||
							case "PUT":
 | 
						||
								r.name = APIV3StocksWarehouseIdPutOperation
 | 
						||
								r.summary = "Обновить остатки товаров"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v3/stocks/{warehouseId}"
 | 
						||
								r.args = args
 | 
						||
								r.count = 1
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
 | 
						||
					case 'w': // Prefix: "warehouses"
 | 
						||
 | 
						||
						if l := len("warehouses"); len(elem) >= l && elem[0:l] == "warehouses" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							switch method {
 | 
						||
							case "GET":
 | 
						||
								r.name = APIV3WarehousesGetOperation
 | 
						||
								r.summary = "Получить список складов продавца"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v3/warehouses"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							case "POST":
 | 
						||
								r.name = APIV3WarehousesPostOperation
 | 
						||
								r.summary = "Создать склад продавца"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/api/v3/warehouses"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case '/': // Prefix: "/"
 | 
						||
 | 
						||
							if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							// Param: "warehouseId"
 | 
						||
							// Leaf parameter, slashes are prohibited
 | 
						||
							idx := strings.IndexByte(elem, '/')
 | 
						||
							if idx >= 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							args[0] = elem
 | 
						||
							elem = ""
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "DELETE":
 | 
						||
									r.name = APIV3WarehousesWarehouseIdDeleteOperation
 | 
						||
									r.summary = "Удалить склад продавца"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v3/warehouses/{warehouseId}"
 | 
						||
									r.args = args
 | 
						||
									r.count = 1
 | 
						||
									return r, true
 | 
						||
								case "PUT":
 | 
						||
									r.name = APIV3WarehousesWarehouseIdPutOperation
 | 
						||
									r.summary = "Обновить склад продавца"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/api/v3/warehouses/{warehouseId}"
 | 
						||
									r.args = args
 | 
						||
									r.count = 1
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				}
 | 
						||
 | 
						||
			case 'c': // Prefix: "content/v"
 | 
						||
 | 
						||
				if l := len("content/v"); len(elem) >= l && elem[0:l] == "content/v" {
 | 
						||
					elem = elem[l:]
 | 
						||
				} else {
 | 
						||
					break
 | 
						||
				}
 | 
						||
 | 
						||
				if len(elem) == 0 {
 | 
						||
					break
 | 
						||
				}
 | 
						||
				switch elem[0] {
 | 
						||
				case '2': // Prefix: "2/"
 | 
						||
 | 
						||
					if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'b': // Prefix: "barcodes"
 | 
						||
 | 
						||
						if l := len("barcodes"); len(elem) >= l && elem[0:l] == "barcodes" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch method {
 | 
						||
							case "POST":
 | 
						||
								r.name = ContentV2BarcodesPostOperation
 | 
						||
								r.summary = "Генерация баркодов"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/content/v2/barcodes"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
 | 
						||
					case 'c': // Prefix: "cards/"
 | 
						||
 | 
						||
						if l := len("cards/"); len(elem) >= l && elem[0:l] == "cards/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'd': // Prefix: "delete/trash"
 | 
						||
 | 
						||
							if l := len("delete/trash"); len(elem) >= l && elem[0:l] == "delete/trash" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "POST":
 | 
						||
									r.name = ContentV2CardsDeleteTrashPostOperation
 | 
						||
									r.summary = "Перенос карточек товаров в корзину"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/cards/delete/trash"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 'e': // Prefix: "error/list"
 | 
						||
 | 
						||
							if l := len("error/list"); len(elem) >= l && elem[0:l] == "error/list" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2CardsErrorListGetOperation
 | 
						||
									r.summary = "Список несозданных карточек товаров с ошибками"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/cards/error/list"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 'l': // Prefix: "limits"
 | 
						||
 | 
						||
							if l := len("limits"); len(elem) >= l && elem[0:l] == "limits" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2CardsLimitsGetOperation
 | 
						||
									r.summary = "Лимиты карточек товаров"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/cards/limits"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 'r': // Prefix: "recover"
 | 
						||
 | 
						||
							if l := len("recover"); len(elem) >= l && elem[0:l] == "recover" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "POST":
 | 
						||
									r.name = ContentV2CardsRecoverPostOperation
 | 
						||
									r.summary = "Восстановление карточек товаров из корзины"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/cards/recover"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 'u': // Prefix: "up"
 | 
						||
 | 
						||
							if l := len("up"); len(elem) >= l && elem[0:l] == "up" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							switch elem[0] {
 | 
						||
							case 'd': // Prefix: "date"
 | 
						||
 | 
						||
								if l := len("date"); len(elem) >= l && elem[0:l] == "date" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch method {
 | 
						||
									case "POST":
 | 
						||
										r.name = ContentV2CardsUpdatePostOperation
 | 
						||
										r.summary = "Редактирование карточек товаров"
 | 
						||
										r.operationID = ""
 | 
						||
										r.pathPattern = "/content/v2/cards/update"
 | 
						||
										r.args = args
 | 
						||
										r.count = 0
 | 
						||
										return r, true
 | 
						||
									default:
 | 
						||
										return
 | 
						||
									}
 | 
						||
								}
 | 
						||
 | 
						||
							case 'l': // Prefix: "load"
 | 
						||
 | 
						||
								if l := len("load"); len(elem) >= l && elem[0:l] == "load" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									switch method {
 | 
						||
									case "POST":
 | 
						||
										r.name = ContentV2CardsUploadPostOperation
 | 
						||
										r.summary = "Создание карточек товаров"
 | 
						||
										r.operationID = ""
 | 
						||
										r.pathPattern = "/content/v2/cards/upload"
 | 
						||
										r.args = args
 | 
						||
										r.count = 0
 | 
						||
										return r, true
 | 
						||
									default:
 | 
						||
										return
 | 
						||
									}
 | 
						||
								}
 | 
						||
								switch elem[0] {
 | 
						||
								case '/': // Prefix: "/add"
 | 
						||
 | 
						||
									if l := len("/add"); len(elem) >= l && elem[0:l] == "/add" {
 | 
						||
										elem = elem[l:]
 | 
						||
									} else {
 | 
						||
										break
 | 
						||
									}
 | 
						||
 | 
						||
									if len(elem) == 0 {
 | 
						||
										// Leaf node.
 | 
						||
										switch method {
 | 
						||
										case "POST":
 | 
						||
											r.name = ContentV2CardsUploadAddPostOperation
 | 
						||
											r.summary = "Создание карточек товаров с присоединением"
 | 
						||
											r.operationID = ""
 | 
						||
											r.pathPattern = "/content/v2/cards/upload/add"
 | 
						||
											r.args = args
 | 
						||
											r.count = 0
 | 
						||
											return r, true
 | 
						||
										default:
 | 
						||
											return
 | 
						||
										}
 | 
						||
									}
 | 
						||
 | 
						||
								}
 | 
						||
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'd': // Prefix: "directory/"
 | 
						||
 | 
						||
						if l := len("directory/"); len(elem) >= l && elem[0:l] == "directory/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'c': // Prefix: "co"
 | 
						||
 | 
						||
							if l := len("co"); len(elem) >= l && elem[0:l] == "co" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							switch elem[0] {
 | 
						||
							case 'l': // Prefix: "lors"
 | 
						||
 | 
						||
								if l := len("lors"); len(elem) >= l && elem[0:l] == "lors" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch method {
 | 
						||
									case "GET":
 | 
						||
										r.name = ContentV2DirectoryColorsGetOperation
 | 
						||
										r.summary = "Цвет"
 | 
						||
										r.operationID = ""
 | 
						||
										r.pathPattern = "/content/v2/directory/colors"
 | 
						||
										r.args = args
 | 
						||
										r.count = 0
 | 
						||
										return r, true
 | 
						||
									default:
 | 
						||
										return
 | 
						||
									}
 | 
						||
								}
 | 
						||
 | 
						||
							case 'u': // Prefix: "untries"
 | 
						||
 | 
						||
								if l := len("untries"); len(elem) >= l && elem[0:l] == "untries" {
 | 
						||
									elem = elem[l:]
 | 
						||
								} else {
 | 
						||
									break
 | 
						||
								}
 | 
						||
 | 
						||
								if len(elem) == 0 {
 | 
						||
									// Leaf node.
 | 
						||
									switch method {
 | 
						||
									case "GET":
 | 
						||
										r.name = ContentV2DirectoryCountriesGetOperation
 | 
						||
										r.summary = "Страна производства"
 | 
						||
										r.operationID = ""
 | 
						||
										r.pathPattern = "/content/v2/directory/countries"
 | 
						||
										r.args = args
 | 
						||
										r.count = 0
 | 
						||
										return r, true
 | 
						||
									default:
 | 
						||
										return
 | 
						||
									}
 | 
						||
								}
 | 
						||
 | 
						||
							}
 | 
						||
 | 
						||
						case 'k': // Prefix: "kinds"
 | 
						||
 | 
						||
							if l := len("kinds"); len(elem) >= l && elem[0:l] == "kinds" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2DirectoryKindsGetOperation
 | 
						||
									r.summary = "Пол"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/directory/kinds"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 's': // Prefix: "seasons"
 | 
						||
 | 
						||
							if l := len("seasons"); len(elem) >= l && elem[0:l] == "seasons" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2DirectorySeasonsGetOperation
 | 
						||
									r.summary = "Сезон"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/directory/seasons"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "tnved"
 | 
						||
 | 
						||
							if l := len("tnved"); len(elem) >= l && elem[0:l] == "tnved" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2DirectoryTnvedGetOperation
 | 
						||
									r.summary = "ТНВЭД-код"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/directory/tnved"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 'v': // Prefix: "vat"
 | 
						||
 | 
						||
							if l := len("vat"); len(elem) >= l && elem[0:l] == "vat" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2DirectoryVatGetOperation
 | 
						||
									r.summary = "Ставка НДС"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/directory/vat"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'g': // Prefix: "get/cards/"
 | 
						||
 | 
						||
						if l := len("get/cards/"); len(elem) >= l && elem[0:l] == "get/cards/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'l': // Prefix: "list"
 | 
						||
 | 
						||
							if l := len("list"); len(elem) >= l && elem[0:l] == "list" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "POST":
 | 
						||
									r.name = ContentV2GetCardsListPostOperation
 | 
						||
									r.summary = "Список карточек товаров"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/get/cards/list"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 't': // Prefix: "trash"
 | 
						||
 | 
						||
							if l := len("trash"); len(elem) >= l && elem[0:l] == "trash" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "POST":
 | 
						||
									r.name = ContentV2GetCardsTrashPostOperation
 | 
						||
									r.summary = "Список карточек товаров в корзине"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/get/cards/trash"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 'o': // Prefix: "object/"
 | 
						||
 | 
						||
						if l := len("object/"); len(elem) >= l && elem[0:l] == "object/" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case 'a': // Prefix: "all"
 | 
						||
 | 
						||
							if l := len("all"); len(elem) >= l && elem[0:l] == "all" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2ObjectAllGetOperation
 | 
						||
									r.summary = "Список предметов"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/object/all"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 'c': // Prefix: "charcs/"
 | 
						||
 | 
						||
							if l := len("charcs/"); len(elem) >= l && elem[0:l] == "charcs/" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							// Param: "subjectId"
 | 
						||
							// Leaf parameter, slashes are prohibited
 | 
						||
							idx := strings.IndexByte(elem, '/')
 | 
						||
							if idx >= 0 {
 | 
						||
								break
 | 
						||
							}
 | 
						||
							args[0] = elem
 | 
						||
							elem = ""
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2ObjectCharcsSubjectIdGetOperation
 | 
						||
									r.summary = "Характеристики предмета"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/object/charcs/{subjectId}"
 | 
						||
									r.args = args
 | 
						||
									r.count = 1
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 'p': // Prefix: "parent/all"
 | 
						||
 | 
						||
							if l := len("parent/all"); len(elem) >= l && elem[0:l] == "parent/all" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2ObjectParentAllGetOperation
 | 
						||
									r.summary = "Родительские категории товаров"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/object/parent/all"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					case 't': // Prefix: "tag"
 | 
						||
 | 
						||
						if l := len("tag"); len(elem) >= l && elem[0:l] == "tag" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							break
 | 
						||
						}
 | 
						||
						switch elem[0] {
 | 
						||
						case '/': // Prefix: "/nomenclature/link"
 | 
						||
 | 
						||
							if l := len("/nomenclature/link"); len(elem) >= l && elem[0:l] == "/nomenclature/link" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "POST":
 | 
						||
									r.name = ContentV2TagNomenclatureLinkPostOperation
 | 
						||
									r.summary = "Управление ярлыками в карточке товара"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/tag/nomenclature/link"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						case 's': // Prefix: "s"
 | 
						||
 | 
						||
							if l := len("s"); len(elem) >= l && elem[0:l] == "s" {
 | 
						||
								elem = elem[l:]
 | 
						||
							} else {
 | 
						||
								break
 | 
						||
							}
 | 
						||
 | 
						||
							if len(elem) == 0 {
 | 
						||
								// Leaf node.
 | 
						||
								switch method {
 | 
						||
								case "GET":
 | 
						||
									r.name = ContentV2TagsGetOperation
 | 
						||
									r.summary = "Список ярлыков"
 | 
						||
									r.operationID = ""
 | 
						||
									r.pathPattern = "/content/v2/tags"
 | 
						||
									r.args = args
 | 
						||
									r.count = 0
 | 
						||
									return r, true
 | 
						||
								default:
 | 
						||
									return
 | 
						||
								}
 | 
						||
							}
 | 
						||
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				case '3': // Prefix: "3/media/"
 | 
						||
 | 
						||
					if l := len("3/media/"); len(elem) >= l && elem[0:l] == "3/media/" {
 | 
						||
						elem = elem[l:]
 | 
						||
					} else {
 | 
						||
						break
 | 
						||
					}
 | 
						||
 | 
						||
					if len(elem) == 0 {
 | 
						||
						break
 | 
						||
					}
 | 
						||
					switch elem[0] {
 | 
						||
					case 'f': // Prefix: "file"
 | 
						||
 | 
						||
						if l := len("file"); len(elem) >= l && elem[0:l] == "file" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch method {
 | 
						||
							case "POST":
 | 
						||
								r.name = ContentV3MediaFilePostOperation
 | 
						||
								r.summary = "Загрузить медиафайл"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/content/v3/media/file"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
 | 
						||
					case 's': // Prefix: "save"
 | 
						||
 | 
						||
						if l := len("save"); len(elem) >= l && elem[0:l] == "save" {
 | 
						||
							elem = elem[l:]
 | 
						||
						} else {
 | 
						||
							break
 | 
						||
						}
 | 
						||
 | 
						||
						if len(elem) == 0 {
 | 
						||
							// Leaf node.
 | 
						||
							switch method {
 | 
						||
							case "POST":
 | 
						||
								r.name = ContentV3MediaSavePostOperation
 | 
						||
								r.summary = "Загрузить медиафайлы по ссылкам"
 | 
						||
								r.operationID = ""
 | 
						||
								r.pathPattern = "/content/v3/media/save"
 | 
						||
								r.args = args
 | 
						||
								r.count = 0
 | 
						||
								return r, true
 | 
						||
							default:
 | 
						||
								return
 | 
						||
							}
 | 
						||
						}
 | 
						||
 | 
						||
					}
 | 
						||
 | 
						||
				}
 | 
						||
 | 
						||
			}
 | 
						||
 | 
						||
		}
 | 
						||
	}
 | 
						||
	return r, false
 | 
						||
}
 |