package ocsigenserver

  1. Overview
  2. Docs
A full-featured and extensible Web server

Install

Dune Dependency

Authors

Maintainers

Sources

6.0.0.tar.gz
md5=001e22ec2da3ab08840f934a8f005859
sha512=59f36fdf0a640117aa562d1d9ef96b7146843d9b72d71d01366640521405550074e03267fb388c5e685542781fc4bce763818a36cf05c0e033fae5e51c2f1496

doc/revproxy/Revproxy/index.html

Module RevproxySource

Revproxy: Forward a request to another Web server

If you want to use this extension with Ocsigen Server's configuration file, have a look at the <<a_manual chapter="revproxy"|manual page>>. If you are using Ocsigen Server as a library, use the interface described here. Each of these functions behaves exactly as its configuration file counterpart.

This module belongs to ocamlfind package ocsigenserver.ext.revproxy.

Example of use. Forward all requests to a given directory to the same directory of another server running locally on another port. We are using it in combination with <<a_manual chapter="outputfilter"|Outputfilter>> to rewrite redirections.

let _ =
   Ocsigen_server.start
     [ Ocsigen_server.host ~regexp:".*"
       [ Revproxy.run
           ~redirection:(Revproxy.create_redirection 
                           ~full_url:false
                           ~regexp:"(othersite/.* )"
                           ~keephost:true
                           "https://localhost:8123/\\1") 
           ()
        ; Outputfilter.run 
            ~mode:(`Rewrite (Ocsigen_header.Name.location,
                             "http://localhost:8123/(.* )",
                             "http://my.publicaddress.org/\\1"))
            ()
 ]]
Sourceval section : Lwt_log_core.section

use Lwt_log.Section.set_level in order to set the log level

Sourcetype redirection
Sourceval create_redirection : ?full_url:bool -> ?pipeline:bool -> ?keephost:bool -> regexp:string -> string -> redirection
Sourceval run : redirection:redirection -> unit -> Ocsigen_server.instruction

run ~redirection () makes it possible to use this extension without configuration file.

OCaml

Innovation. Community. Security.