Index: elisp-http-make-content.el ================================================================== --- elisp-http-make-content.el +++ elisp-http-make-content.el @@ -1,8 +1,8 @@ ;;(load "~/glibc/dark_c/emacs-symfony-cli/http-content.el") -;;;(global-set-key (kbd "M-m") #'(lambda () (interactive) (elisp-http-content))) +;;;(global-set-key (kbd "M-m") #'(lambda () (interactive) (elisp-http-login-content))) (setq http-token "") (defun elisp-http-get-header () (if-let* ((auth-header (unless (or (null http-token) @@ -32,11 +32,11 @@ (path (format "GET /%s HTTP/1.1" _path))) path)) ;;;(elisp-http-register-line) -(defun elisp-http-make-content (method) +(defun elisp-http-make-content () (let ((request-line (elisp-http-set-request-line))) (concat request-line "\n" (mapconcat (lambda (x) (format "%s: %s" (car x) (cdr x))) @@ -62,5 +62,28 @@ header-block "\n\n" json-body))) ;; Пример использования: ;;;(elisp-http-register-content) + +(defun elisp-http-login-content () + "Generate HTTP request content for login with JSON payload using 'email'." + (let* ((email (elisp-http-prompt-email)) + (password (elisp-http-prompt-password)) + (request-line (format "POST /%s HTTP/1.1" (elisp-http-prompt-api))) + (json-body (json-encode `(("email" . ,email) ("password" . ,password)))) + (headers (append my-headers + (list (cons "Content-Length" + (number-to-string (string-bytes json-body)))))) + (header-block + (mapconcat (lambda (x) (format "%s: %s" (car x) (cdr x))) + headers + "\n"))) + (concat request-line "\n" + header-block "\n\n" + json-body))) +;;;(elisp-http-login-content) + +;;;(setq youo (elisp-http-login-content)) + +;;; "email": "somex@gmail.com", +;;; "password": "test1234" Index: elisp-http-prompt.el ================================================================== --- elisp-http-prompt.el +++ elisp-http-prompt.el @@ -8,7 +8,6 @@ (defun elisp-http-prompt-password () (let* ((prompt-register (propertize "password: " 'face '(:foreground "red" :weight bold)))) (read-from-minibuffer prompt-register))) - Index: elisp-http.el ================================================================== --- elisp-http.el +++ elisp-http.el @@ -3,10 +3,14 @@ (load "~/glibc/dark_c/emacs-symfony-cli/elisp-http-prompt.el") ;;;;(global-set-key (kbd "M-m") #'(lambda () (interactive) (elisp-http) (monitor-http-buffer))) ;;(setq http-content (elisp-http-register-content)) ;;(setq http-content (elisp-http-make-content)) +;;(setq http-content (elisp-http-login-content)) + +http-content + (defun elisp-http () (interactive) (make-network-process :name "elisp-post" @@ -44,8 +48,5 @@ (cancel-timer monitor-http-buffer--timer)))))))) -curl -X POST http://localhost:8000/api/login_check \ - -H "Content-Type: application/json" \ - -d '{"username": "admin@example.com", "password": "password"}' Index: issue ================================================================== --- issue +++ issue @@ -16,5 +16,10 @@ | `"signal SIG\n"` | Процесс получил сигнал | задача - передать токен пользователя в пост запрос проверить на авторизации пост запрос + + +итак вся суть это формирование контента +давай +сначала зарегаюсь через кли просто