Basic navigation methods
This commit is contained in:
parent
a90caba4a5
commit
f75d860d5f
|
@ -38,6 +38,11 @@
|
|||
(define-method (terminate-session (browser <Browser>))
|
||||
(send browser '() (string-append "session/" (session browser)) 'DELETE))
|
||||
|
||||
(define-method (send-with-session (browser <Browser>) struct path method)
|
||||
(send browser struct
|
||||
(string-append "session/" (session browser) "/" path)
|
||||
method))
|
||||
|
||||
;; TODO: Apparently session has to be closed first
|
||||
(define-method (terminate (browser <Browser>))
|
||||
(call/cc
|
||||
|
@ -66,3 +71,28 @@
|
|||
(define-method (send (browser <Firefox>) struct path method)
|
||||
(let ((result (call-next-method)))
|
||||
(alist-ref 'value result)))
|
||||
|
||||
;; =======================
|
||||
;; Main API Implementation
|
||||
;; =======================
|
||||
|
||||
(define-method (forward! (browser <Browser>))
|
||||
(send-with-session browser '() "forward" 'POST))
|
||||
|
||||
(define-method (back! (browser <Browser>))
|
||||
(send-with-session browser '() "back" 'POST))
|
||||
|
||||
(define-method (refresh! (browser <Browser>))
|
||||
(send-with-session browser '() "refresh" 'POST))
|
||||
|
||||
(define-method (url (browser <Browser>))
|
||||
(send-with-session browser '() "url" 'GET))
|
||||
|
||||
(define-method (url! (browser <Browser>) (uri <string>))
|
||||
(send-with-session browser `((url . ,uri)) "url" 'POST))
|
||||
|
||||
(define-method (title (browser <Browser>))
|
||||
(send-with-session browser '() "title" 'GET))
|
||||
|
||||
(define-method (source (browser <Browser>))
|
||||
(send-with-session browser '() "source" 'GET))
|
||||
|
|
Loading…
Reference in New Issue