Skip to content

Dragonfly framework: timeout

Installando il framework Dragonfly mi sono accorto che funzionava tutto perfettamente a patto di usare il suo server interno, mentre dava un timeout usando Hiawatha.
Il problema l'ho individuato nel file response.lsp. Verso la fine del sorgente bisogna togliere un paio di commenti.

;===============================================================================
; !$POST/$FILES/$BINARY
;===============================================================================

; windows doesn't have 'peek'
;(unless (zero? (peek (device)))   <--- TOGLIERE IL COMMENTO QUI...
        (if (and (setf temp HTTP_CONTENT_TRANSFER_ENCODING) (= temp "binary"))
                (handle-binary-data)
                (and (setf temp CONTENT_TYPE) (starts-with temp "multipart/form-data"))
                (handle-multipart-data)
                (and (read (device) temp MAX_POST_LENGTH) temp)         
                (dolist (pair (parse-query temp))
                        (add-keyvalue-to-ctx (first pair) (last pair) $POST)        
                )  
        )          
;) <--- ...E ANCHE QUI.

Questo il risultato finale:

;===============================================================================
; !$POST/$FILES/$BINARY
;===============================================================================

; windows doesn't have 'peek'
(unless (zero? (peek (device)))
        (if (and (setf temp HTTP_CONTENT_TRANSFER_ENCODING) (= temp "binary"))
                (handle-binary-data)
                (and (setf temp CONTENT_TYPE) (starts-with temp "multipart/form-data"))
                (handle-multipart-data)
                (and (read (device) temp MAX_POST_LENGTH) temp)         
                (dolist (pair (parse-query temp))
                        (add-keyvalue-to-ctx (first pair) (last pair) $POST)        
                )  
        )          
)