Tôi muốn tạo kết quả đã giải mã cho dữ liệu POST. Nhiều mã được 'lãng phí' trong việc chuyển đổi 'chuỗi'. Điều đó làm cho mã xấu xí. Bất kỳ giải pháp tốt hơn?Làm thế nào để tránh chuyển đổi giữa các loại 'chuỗi' khác nhau trong haskell, sử dụng snapframework?
import Codec.Binary.Url (decode')
import qualified Data.ByteString.Lazy.Char8 as L (unpack)
import qualified Data.ByteString.Char8 as S (unpack, pack)
import qualified Data.ByteString.Lazy as LBS (pack)
decodeUrlHandler :: Snap()
decodeUrlHandler = do
body <- readRequestBody (maxBound :: Int64)
writeLBS $ LBS.pack $ map (fromMaybe 0) $ decode' $ L.unpack body
Mã của bạn cho mục đích này là gì?
Có thể thêm chức năng của riêng tôi 'fromMaybeW8sToLBS = LBS.pack. map (fromMaybe 0) ' – wenlong
Tại sao bạn cần giải mã thân yêu cầu? Bạn có chắc chắn rằng Snap không làm điều đó cho bạn? – nponeccop
@nponeccop, yêu cầu nội dung có loại ByteString, tôi muốn coi đó là chuỗi được mã hóa url và giải mã nó. Nhưng giải mã '(giải mã url) muốn String và trả về [Có thể là Word8]. – wenlong