summaryrefslogblamecommitdiffstats
path: root/docs/index.xml
blob: 09ef6b829b0510e2fa3675481094517ce88ea9c5 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                            


                                                                         

                                            
                                                                                                  

          
                                              
                                                                  

                                                        
                                                                  




















                                                                                                                            

           
                                                                         



            
                                                                                  



            
                                                                          

            


                                                                               

           
                                                                        



            
                                                                        



            
                                                                                   

            


                                                                              

           
                                                                                       

            


                                                                               

           
                                                                                         



            
                                                                             



            
                                                                                       



            

                                                                             



            
                                                                                            

            


                                                                                 

           
                                                                                     



            
                                                                                        

            






                                                             

           
                                                                                                              



            
                                                                                                                       



            
                                        



            
                          


                        























                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 




                                      
                                                                 

                                                        
                                                                 














































































































































































































                                                                                
                                                                  

                                                        
                                                                  




















































                                                                   




                                                                

















































































































                                                                               
                                                               

                                                        
                                                               
















                                                               
                                                              

                                                        
                                                              




































                                                                 
                                                                                    

                                                        
                                                                                    





                                                                                                                    
                                  
                                                           
                                        



                                                                                                          


                                  
                                                             
                                        



                                                                                                                             


                                  
                                                                                   
                                        

                                                                                                 


                                  
                                                 
                                        
                                                                                                                                      

             
                                  
                                                           
                                        
                                                                                                                                      


                                  
                                                             
                                        
                                                                                                                                      


                                  
                                                                 
                                        


                                                                                                        


                                  
                                                                             
                                        
                                                                                                                                      

             
                                  
                                                                               
                                        



























                                                                                                                                      
          
                                                   
           

            
          
                                      
           

            
          
                            
           

            
          
                            
           

            
          
                             
           

            
          
                                                      
           

            
          
                                     
           















                                                       

           
                              



            
                            


                        


                                  
                                                                     
                                        
                                                                                                                                      


                                  
                                                               
                                        









                                                                                                                                      

             
                                  
                                                                                 
                                        
                                                                                                                                      


                                  
                                                                         
                                        
                                                                                                                                      


                                  
                                                                           
                                        



                                                                                                     

             



                                                                                                                                      

             




                                                                                                                                      
             
                                  
                                                                                   
                                        
                                                                                                                                      


                                  
                                                                                             
                                        
                                                                                                                                      


                                  
                                                                                     
                                        


                                                                                                     


                                  
                                                                                         
                                        
                                                                                                                                      


                                  
                                                                                       
                                        



                                                                                                         


                                  
                                                                           
                                        
                                                                                                                                      


                                  
                                                                                   
                                        
                                                                                                                                      

             





                                                                                                     





              
                                             
                                                                 

                                                        
                                                                 































                                                                     



              








































                                                                     
                                     
                                                                

                                                        
                                                                




















                                                               

           
                                                          



            
                                                           



            
                                                                      



            
                                                       


                        



              


















































                                                                      
                                     
                                                                          

                                                        
                                                                          





















































                                                                                                                           


                                  


























































































                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                         

                                                        
                                                                         

                                                     
                                        
                                                                                         


                                  
                                                           
                                        
                                                                                                                            
                                                    


                                  


























                                                                                                                        
                                               
                                        
                                  
                                                   




                                                                                 



                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                         

                                                                                                                                                                                                                                                                                                       
                                                                                                             
                                                                                                                                       
                                                          
                                                                                     
             
                                  







                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
             
                                  










                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
             
                                  






                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
                                                                                  
                                                                                                                                
             
                                  














                                                                                                                                                                                                                                                                                                                                                                                  
                                                                   

                                                                                                 

             

                                  
                                                     
                                        
                                                                                              

































                                                                                                                            
          
                                                                            
           

            
          
                                                                                     
           

            
          
                                                                             
           




                                                                               
          
                                                                           
           

            
          
                                                                           
           

            
          
                                                                                      
           




                                                                              
          
                                                                                          
           




                                                                               
          
                                                                                            
           

            
          
                                                                                
           

            
          
                                                                                          
           

            
          
                                                                                
 




















                                                                                               


                                  
                                                             
                                        





























                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 


                                  
                                                           
                                        



                                                                                                                              






                                                                                                   



              

                                                                                 

                                                        
                                                                                 


                                                     
                                                                                                                                     


                                  
                                                           
                                        



















                                                                                                                                                                                                                                                                                                                                                                                                         

                                            
     

            
          
                                    
           



                                                                                                                  

                                   
    

            
          

                                                                                      
           
            
                                   
      

            
          
               
           
                                                                                                                        

                        


                                  
                                                             
                                        


                                                                                                                                 


                                  
                                                       
                                        

                                            
          
                                                       
           

                        
             
             
















                                                                                                                                                                                                                                                                                                                                                                                                                                               


                                  
                                                     
                                        



                                                                                                                    





              

                                                                                     

                                                        
                                                                                     


                                                     
                                                                                                                                


                                  
                                                           
                                        















                                                                                                                                                                                                                                                                                                                                                                                                                     


                                  
                                                       
                                        

                                            
     


            


                                                       
           

                                                                                                                                              

                                   
             


            











                                                                                                          

                                   
              


            



                                                                     
           

                                                                                          

                                   
             


            







                                                                                         
                                                                   

                                                                                                 




                                  
                                                             
                                        












                                                                                                                                
          
                                                        
           

            
          
                                                                                                              
           

                        
             
             





































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                   

                                                                          



              

            
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Docs-rsses on Nine Nines</title>
    <link>https://ninenines.eu/docs/index.xml</link>
    <description>Recent content in Docs-rsses on Nine Nines</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <atom:link href="https://ninenines.eu/docs/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Cowboy Function Reference</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/manual/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/manual/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_name&#34;&gt;Name&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;cowboy - Small, fast, modern HTTP server for Erlang/OTP&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_description&#34;&gt;Description&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy is an HTTP server for Erlang/OTP with support for the
HTTP/1.1, HTTP/2 and Websocket protocols.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy aims to provide a complete HTTP stack. This includes
the implementation of the HTTP RFCs but also any directly
related standards, like Websocket or Server-Sent Events.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_modules&#34;&gt;Modules&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Functions:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy&#34;&gt;cowboy(3)&lt;/a&gt; - Listener management
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_req&#34;&gt;cowboy_req(3)&lt;/a&gt; - Request and response
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt; - Router
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Protocols:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_http&#34;&gt;cowboy_http(3)&lt;/a&gt; - HTTP/1.1
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_http2&#34;&gt;cowboy_http2(3)&lt;/a&gt; - HTTP/2
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt; - Websocket
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Handlers:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_static&#34;&gt;cowboy_static(3)&lt;/a&gt; - Static file handler
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Behaviors:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_handler&#34;&gt;cowboy_handler(3)&lt;/a&gt; - Plain HTTP handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_loop&#34;&gt;cowboy_loop(3)&lt;/a&gt; - Loop handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_middleware&#34;&gt;cowboy_middleware(3)&lt;/a&gt; - Middlewares
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_rest&#34;&gt;cowboy_rest(3)&lt;/a&gt; - REST handlers

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt; - Websocket handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Middlewares:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt; - Router middleware
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cowboy_handler&#34;&gt;cowboy_handler(3)&lt;/a&gt; - Handler middleware
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_dependencies&#34;&gt;Dependencies&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;ranch(7)&lt;/a&gt; - Socket acceptor pool for TCP protocols
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;cowlib(7)&lt;/a&gt; - Support library for manipulating Web protocols
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
ssl - Secure communication over sockets
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
crypto - Crypto functions
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;All these applications must be started before the &lt;code&gt;cowboy&lt;/code&gt;
application. To start Cowboy and all dependencies at once:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;{&lt;span style=&#34;color: #FF6600&#34;&gt;ok&lt;/span&gt;, &lt;span style=&#34;color: #990000&#34;&gt;_&lt;/span&gt;} &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;application:ensure_all_started&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #FF6600&#34;&gt;cowboy&lt;/span&gt;)&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_environment&#34;&gt;Environment&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The &lt;code&gt;cowboy&lt;/code&gt; application does not define any application
environment configuration parameters.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_see_also&#34;&gt;See also&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;ranch(7)&lt;/a&gt;,
&lt;a href=&#34;https://ninenines.eu/docs&#34;&gt;cowlib(7)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Cowboy User Guide</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/guide/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_rationale&#34;&gt;Rationale&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;modern_web/&#34;&gt;The modern Web&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;erlang_web/&#34;&gt;Erlang and the Web&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;introduction/&#34;&gt;Introduction&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;getting_started/&#34;&gt;Getting started&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;flow_diagram/&#34;&gt;Flow diagram&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;listeners/&#34;&gt;Listeners&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;streams/&#34;&gt;Streams&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;routing/&#34;&gt;Routing&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;constraints/&#34;&gt;Constraints&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_handlers&#34;&gt;Handlers&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;handlers/&#34;&gt;Handlers&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;loop_handlers/&#34;&gt;Loop handlers&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;static_files/&#34;&gt;Static files&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_request_and_response&#34;&gt;Request and response&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;req/&#34;&gt;Request details&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;req_body/&#34;&gt;Reading the request body&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;resp/&#34;&gt;Sending a response&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;cookies/&#34;&gt;Using cookies&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;multipart/&#34;&gt;Multipart&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_rest&#34;&gt;REST&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;rest_principles/&#34;&gt;REST principles&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;rest_handlers/&#34;&gt;Handling REST requests&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;rest_flowcharts/&#34;&gt;REST flowcharts&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;resource_design/&#34;&gt;Designing a resource handler&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_websocket&#34;&gt;Websocket&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ws_protocol/&#34;&gt;The Websocket protocol&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ws_handlers/&#34;&gt;Handling Websocket connections&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_internals&#34;&gt;Internals&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;architecture/&#34;&gt;Architecture&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;broken_clients/&#34;&gt;Dealing with broken clients&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;middlewares/&#34;&gt;Middlewares&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;sub_protocols/&#34;&gt;Sub protocols&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;hooks/&#34;&gt;Hooks&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Erlang.mk User Guide</title>
      <link>https://ninenines.eu/docs/en/erlang.mk/1/guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/erlang.mk/1/guide/</guid>
      <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;installation/&#34;&gt;Installation&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;getting_started/&#34;&gt;Getting started&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;overview/&#34;&gt;Overview&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;updating/&#34;&gt;Updating Erlang.mk&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;limitations/&#34;&gt;Limitations&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;app/&#34;&gt;Building&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;deps/&#34;&gt;Packages and dependencies&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ports/&#34;&gt;NIFs and port drivers&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;releases/&#34;&gt;Releases&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;sfx/&#34;&gt;Self-extracting releases&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;escripts/&#34;&gt;Escripts&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;compat/&#34;&gt;Compatibility with other build tools&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;docs&#34;&gt;Documentation&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;asciidoc/&#34;&gt;Asciidoc documentation&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;edoc/&#34;&gt;EDoc comments&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;tests&#34;&gt;Tests&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;shell/&#34;&gt;Erlang shell&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;eunit/&#34;&gt;EUnit&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;common_test/&#34;&gt;Common Test&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;coverage/&#34;&gt;Code coverage&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ci/&#34;&gt;Continuous integration&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;dialyzer/&#34;&gt;Dialyzer&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;xref/&#34;&gt;Xref&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;plugins&#34;&gt;Third-party plugins&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;external_plugins/&#34;&gt;External plugins&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;external_plugins_list/&#34;&gt;List of plugins&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;about&#34;&gt;About Erlang.mk&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;why/&#34;&gt;Why erlang.mk?&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;history/&#34;&gt;Short history&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;contributing/&#34;&gt;Contributing&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Gun Function Reference</title>
      <link>https://ninenines.eu/docs/en/gun/1.0/manual/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/gun/1.0/manual/</guid>
      <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;gun_app&#34;&gt;gun(7)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;gun&#34;&gt;gun(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Gun User Guide</title>
      <link>https://ninenines.eu/docs/en/gun/1.0/guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/gun/1.0/guide/</guid>
      <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;introduction/&#34;&gt;Introduction&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;start/&#34;&gt;Starting and stopping&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;protocols/&#34;&gt;Supported protocols&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;connect/&#34;&gt;Connection&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;http/&#34;&gt;Using HTTP&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;websocket/&#34;&gt;Using Websocket&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>HTTP status codes(7)</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/manual/http_status_codes/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/manual/http_status_codes/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_name&#34;&gt;Name&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP status codes - status codes used by Cowboy&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_description&#34;&gt;Description&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This chapter aims to list all HTTP status codes that Cowboy
may return, with details on the reasons why. The list given
here only includes the replies that Cowboy sends, not user
replies.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_100_continue&#34;&gt;100 Continue&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;When the client sends an &lt;code&gt;expect: 100-continue&lt;/code&gt; header,
Cowboy automatically sends a this status code before
trying to read the request body. This behavior can be
disabled using the appropriate body option.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_101_switching_protocols&#34;&gt;101 Switching Protocols&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This is the status code sent when switching to the
Websocket protocol.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_200_ok&#34;&gt;200 OK&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_201_created&#34;&gt;201 Created&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_202_accepted&#34;&gt;202 Accepted&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_204_no_content&#34;&gt;204 No Content&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent when the processing of a request
ends without any reply having been sent. It may also be
sent by &lt;code&gt;cowboy_rest&lt;/code&gt; under normal conditions.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_300_multiple_choices&#34;&gt;300 Multiple Choices&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_301_moved_permanently&#34;&gt;301 Moved Permanently&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_303_see_other&#34;&gt;303 See Other&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_304_not_modified&#34;&gt;304 Not Modified&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_307_temporary_redirect&#34;&gt;307 Temporary Redirect&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_400_bad_request&#34;&gt;400 Bad Request&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy will send this status code for any of the
following reasons:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Too many empty lines were sent before the request.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The request-line could not be parsed.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Too many headers were sent.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
A header name was too long.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
A header value was too long.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The host header was missing from an HTTP/1.1 request.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The host header could not be parsed.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The requested host was not found.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The requested path could not be parsed.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The accept header could not be parsed when using REST.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
REST under normal conditions.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
A Websocket upgrade failed.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_401_unauthorized&#34;&gt;401 Unauthorized&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_403_forbidden&#34;&gt;403 Forbidden&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_404_not_found&#34;&gt;404 Not Found&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent when the router successfully
resolved the host but didn&amp;#8217;t find a matching path for
the request. It may also be sent by &lt;code&gt;cowboy_rest&lt;/code&gt; under
normal conditions.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_405_method_not_allowed&#34;&gt;405 Method Not Allowed&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_406_not_acceptable&#34;&gt;406 Not Acceptable&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_408_request_timeout&#34;&gt;408 Request Timeout&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy will send this status code to the client if the
client started to send a request, indicated by the
request-line being received fully, but failed to send
all headers in a reasonable time.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_409_conflict&#34;&gt;409 Conflict&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_410_gone&#34;&gt;410 Gone&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_412_precondition_failed&#34;&gt;412 Precondition Failed&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_413_request_entity_too_large&#34;&gt;413 Request Entity Too Large&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_414_request_uri_too_long&#34;&gt;414 Request-URI Too Long&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy will send this status code to the client if the
request-line is too long. It may also be sent by
&lt;code&gt;cowboy_rest&lt;/code&gt; under normal conditions.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_415_unsupported_media_type&#34;&gt;415 Unsupported Media Type&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_500_internal_server_error&#34;&gt;500 Internal Server Error&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent when a crash occurs in HTTP, loop
or REST handlers, or when an invalid return value is
returned. It may also be sent by &lt;code&gt;cowboy_rest&lt;/code&gt; under
normal conditions.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_501_not_implemented&#34;&gt;501 Not Implemented&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_503_service_unavailable&#34;&gt;503 Service Unavailable&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This status code is sent by &lt;code&gt;cowboy_rest&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_505_http_version_not_supported&#34;&gt;505 HTTP Version Not Supported&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy only supports the versions 1.0 and 1.1 of HTTP.
In all other cases this status code is sent back to the
client and the connection is closed.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Ranch Function Reference</title>
      <link>https://ninenines.eu/docs/en/ranch/1.2/manual/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/ranch/1.2/manual/</guid>
      <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_app&#34;&gt;ranch(7)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch&#34;&gt;ranch(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_protocol&#34;&gt;ranch_protocol(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_ssl&#34;&gt;ranch_ssl(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_tcp&#34;&gt;ranch_tcp(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_transport&#34;&gt;ranch_transport(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Ranch Function Reference</title>
      <link>https://ninenines.eu/docs/en/ranch/1.3/manual/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/ranch/1.3/manual/</guid>
      <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_app&#34;&gt;ranch(7)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch&#34;&gt;ranch(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_protocol&#34;&gt;ranch_protocol(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_ssl&#34;&gt;ranch_ssl(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_tcp&#34;&gt;ranch_tcp(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ranch_transport&#34;&gt;ranch_transport(3)&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Ranch User Guide</title>
      <link>https://ninenines.eu/docs/en/ranch/1.2/guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/ranch/1.2/guide/</guid>
      <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;introduction/&#34;&gt;Introduction&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;listeners/&#34;&gt;Listeners&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;transports/&#34;&gt;Transports&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;protocols/&#34;&gt;Protocols&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;embedded/&#34;&gt;Embedded mode&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;parsers/&#34;&gt;Writing parsers&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ssl_auth/&#34;&gt;SSL client authentication&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;internals/&#34;&gt;Internals&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Ranch User Guide</title>
      <link>https://ninenines.eu/docs/en/ranch/1.3/guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/ranch/1.3/guide/</guid>
      <description>&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;introduction/&#34;&gt;Introduction&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;listeners/&#34;&gt;Listeners&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;transports/&#34;&gt;Transports&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;protocols/&#34;&gt;Protocols&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;embedded/&#34;&gt;Embedded mode&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;parsers/&#34;&gt;Writing parsers&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;ssl_auth/&#34;&gt;SSL client authentication&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;internals/&#34;&gt;Internals&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Request overview</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/guide/overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/guide/overview/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This chapter explains the different steps a request
goes through until a response is sent, along with
details of the Cowboy implementation.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_request_response&#34;&gt;Request/response&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;As you already know, HTTP clients connect to the server and
send a request for a resource; the server then sends a
response containing the resource if it could obtain it.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Before the server can send the resource, however, it
needs to perform many different operations to read the
request, find the resource, prepare the response being
sent and often other related operations the user can
add like writing logs.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Requests take the following route in Cowboy:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;imageblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;
&lt;img src=&#34;../http_req_resp.png&#34; alt=&#34;HTTP request/response flowchart&#34; /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This shows the default middlewares, but they may be
configured differently in your setup. The dark green
indicates the points where you can hook your own code,
the light green is the Cowboy code that you can of
course configure as needed.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The &lt;code&gt;acceptor&lt;/code&gt; is the part of the server that accepts
the connection and create an Erlang process to handle
it. The &lt;code&gt;parser&lt;/code&gt; then starts reading from the socket
and handling requests as they come until the socket
is closed.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;A response may be sent at many different points in the
life of the request. If Cowboy can&amp;#8217;t parse the request,
it gives up with an error response. If the router can&amp;#8217;t
find the resource, it sends a not found error. Your
own code can of course send a response at any time.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;When a response is sent, you can optionally modify it
or act upon it by enabling the &lt;code&gt;onresponse&lt;/code&gt; hook. By
default the response is sent directly to the client.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_and_then&#34;&gt;And then?&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Behavior depends on what protocol is in use.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP/1.0 can only process one request per connection,
so Cowboy will close the connection immediately after
it sends the response.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP/1.1 allows the client to request that the server
keeps the connection alive. This mechanism is described
in the next section.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP/2 is designed to allow sending multiple requests
asynchronously on the same connection. Details on what
this means for your application is described in this
chapter.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_keep_alive_http_1_1&#34;&gt;Keep-alive (HTTP/1.1)&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;With HTTP/1.1, the connection may be left open for
subsequent requests to come. This mechanism is called
&lt;code&gt;keep-alive&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;When the client sends a request to the server, it includes
a header indicating whether it would like to leave the
socket open. The server may or may not accept, indicating
its choice by sending the same header in the response.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy will include this header automatically in all
responses to HTTP/1.1 requests. You can however force
the closing of the socket if you want. When Cowboy sees
you want to send a &lt;code&gt;connection: close&lt;/code&gt; header, it will
not override it and will close the connection as soon
as the reply is sent.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This snippet will force Cowboy to close the connection.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;color: #009900&#34;&gt;Req2&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy_req:reply&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #993399&#34;&gt;200&lt;/span&gt;, [
    {&lt;span style=&#34;color: #990000&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color: #FF0000&#34;&gt;&#34;connection&#34;&lt;/span&gt;&lt;span style=&#34;color: #990000&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;, &lt;span style=&#34;color: #990000&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color: #FF0000&#34;&gt;&#34;close&#34;&lt;/span&gt;&lt;span style=&#34;color: #990000&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;},
], &lt;span style=&#34;color: #990000&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color: #FF0000&#34;&gt;&#34;Closing the socket in 3.. 2.. 1..&#34;&lt;/span&gt;&lt;span style=&#34;color: #990000&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;, &lt;span style=&#34;color: #009900&#34;&gt;Req&lt;/span&gt;)&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy will only accept a certain number of new requests
on the same connection. By default it will run up to 100
requests. This number can be changed by setting the
&lt;code&gt;max_keepalive&lt;/code&gt; configuration value when starting an
HTTP listener.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy:start_http&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #FF6600&#34;&gt;my_http_listener&lt;/span&gt;, &lt;span style=&#34;color: #993399&#34;&gt;100&lt;/span&gt;, [{&lt;span style=&#34;color: #FF6600&#34;&gt;port&lt;/span&gt;, &lt;span style=&#34;color: #993399&#34;&gt;8080&lt;/span&gt;}], [
        {&lt;span style=&#34;color: #FF6600&#34;&gt;env&lt;/span&gt;, [{&lt;span style=&#34;color: #FF6600&#34;&gt;dispatch&lt;/span&gt;, &lt;span style=&#34;color: #009900&#34;&gt;Dispatch&lt;/span&gt;}]},
        {&lt;span style=&#34;color: #FF6600&#34;&gt;max_keepalive&lt;/span&gt;, &lt;span style=&#34;color: #993399&#34;&gt;5&lt;/span&gt;}
])&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy implements the keep-alive mechanism by reusing
the same process for all requests. This allows Cowboy
to save memory. This works well because most code will
not have any side effect impacting subsequent requests.
But it also means you need to clean up if you do have
code with side effects. The &lt;code&gt;terminate/3&lt;/code&gt; function can
be used for this purpose.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_pipelining_http_1_1&#34;&gt;Pipelining (HTTP/1.1)&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;While HTTP is designed as a sequential protocol, with
the client sending a request and then waiting for the
response from the server, nothing prevents the client
from sending more requests to the server without waiting
for the response, due to how sockets work. The server
still handles the requests sequentially and sends the
responses in the same order.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This mechanism is called pipelining. It allows reducing
latency when a client needs to request many resources
at the same time. This is used by browsers when requesting
static files for example.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This is handled automatically by the server.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_asynchronous_requests_http_2&#34;&gt;Asynchronous requests (HTTP/2)&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;In HTTP/2, the client can send a request at any time.
And the server can send a response at any time too.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This means for example that the client does not need
to wait for a request to be fully sent to send another,
it is possible to interleave a request with the request
body of another request. The same is true with responses.
Responses may also be sent in a different order.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Because requests and responses are fully asynchronous,
Cowboy creates a new process for each request, and these
processes are managed by another process that handles the
connection itself.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP/2 servers may also decide to send resources to the
client before the client requests them. This is especially
useful for sending static files associated with the HTML
page requested, as this reduces the latency of the overall
response. Cowboy does not support this particular mechanism
at this point, however.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>cowboy(3)</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_name&#34;&gt;Name&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;cowboy - HTTP server&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_description&#34;&gt;Description&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The module &lt;code&gt;cowboy&lt;/code&gt; provides convenience functions for
manipulating Ranch listeners.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_exports&#34;&gt;Exports&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy.start_clear&#34;&gt;cowboy:start_clear(3)&lt;/a&gt; - Listen for connections using plain TCP
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy.start_tls&#34;&gt;cowboy:start_tls(3)&lt;/a&gt; - Listen for connections using TLS
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy.stop_listener&#34;&gt;cowboy:stop_listener(3)&lt;/a&gt; - Stop the given listener
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy.set_env&#34;&gt;cowboy:set_env(3)&lt;/a&gt; - Update a listener&amp;#8217;s environment value
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_types&#34;&gt;Types&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_fields&#34;&gt;fields()&lt;/h3&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;fields&lt;/span&gt;&lt;/span&gt;() &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; [&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;
           | {&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;, &lt;span style=&#34;color: #009900&#34;&gt;Constraints&lt;/span&gt;}
           | {&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;, &lt;span style=&#34;color: #009900&#34;&gt;Constraints&lt;/span&gt;, &lt;span style=&#34;color: #009900&#34;&gt;Default&lt;/span&gt;}]

&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;        &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000080&#34;&gt;atom&lt;/span&gt;&lt;/span&gt;()
&lt;span style=&#34;color: #009900&#34;&gt;Constraints&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;color: #009900&#34;&gt;Constraint&lt;/span&gt; | [&lt;span style=&#34;color: #009900&#34;&gt;Constraint&lt;/span&gt;]
&lt;span style=&#34;color: #009900&#34;&gt;Constraint&lt;/span&gt;  &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy_constraints:constraint&lt;/span&gt;&lt;/span&gt;()
&lt;span style=&#34;color: #009900&#34;&gt;Default&lt;/span&gt;     &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;any&lt;/span&gt;&lt;/span&gt;()&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Fields description for match operations.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This type is used in &lt;a href=&#34;../cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt;
for matching bindings and in the match functions found in
&lt;a href=&#34;../cowboy_req&#34;&gt;cowboy_req(3)&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_http_headers&#34;&gt;http_headers()&lt;/h3&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;http_headers&lt;/span&gt;&lt;/span&gt;() &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; #{&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000080&#34;&gt;binary&lt;/span&gt;&lt;/span&gt;() &lt;span style=&#34;color: #990000&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;iodata&lt;/span&gt;&lt;/span&gt;()}&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP headers.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_http_status&#34;&gt;http_status()&lt;/h3&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;http_status&lt;/span&gt;&lt;/span&gt;() &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;non_neg_integer&lt;/span&gt;&lt;/span&gt;() | &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000080&#34;&gt;binary&lt;/span&gt;&lt;/span&gt;()&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP response status.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;A binary status can be used to set a reason phrase. Note
however that HTTP/2 only sends the status code and drops
the reason phrase entirely.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_http_version&#34;&gt;http_version()&lt;/h3&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;http_version&lt;/span&gt;&lt;/span&gt;() &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;color: #FF6600&#34;&gt;&#39;HTTP/2&#39;&lt;/span&gt; | &lt;span style=&#34;color: #FF6600&#34;&gt;&#39;HTTP/1.1&#39;&lt;/span&gt; | &lt;span style=&#34;color: #FF6600&#34;&gt;&#39;HTTP/1.0&#39;&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;HTTP version.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Note that semantically, HTTP/1.1 and HTTP/2 are equivalent.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_opts&#34;&gt;opts()&lt;/h3&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;opts&lt;/span&gt;&lt;/span&gt;() &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;map&lt;/span&gt;&lt;/span&gt;()&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Options for the HTTP/1.1, HTTP/2 and Websocket protocols.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The protocol options are in a map containing all the options for
the different protocols that may be involved when connecting
to the listener, including HTTP/1.1 and HTTP/2 but also
subprotocols like Websocket.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The HTTP/1.1 options are documented in the
&lt;a href=&#34;../cowboy_http&#34;&gt;cowboy_http(3)&lt;/a&gt; manual;
the HTTP/2 options in
&lt;a href=&#34;../cowboy_http2&#34;&gt;cowboy_http2(3)&lt;/a&gt;;
and the Websocket options in
&lt;a href=&#34;../cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_see_also&#34;&gt;See also&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;..&#34;&gt;cowboy(7)&lt;/a&gt;,
&lt;a href=&#34;../ranch&#34;&gt;ranch(3)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>cowboy(7)</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy_app/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy_app/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_name&#34;&gt;Name&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;cowboy - Small, fast, modern HTTP server for Erlang/OTP&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_description&#34;&gt;Description&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy is an HTTP server for Erlang/OTP with support for the
HTTP/1.1, HTTP/2 and Websocket protocols.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy aims to provide a complete HTTP stack. This includes
the implementation of the HTTP RFCs but also any directly
related standards, like Websocket or Server-Sent Events.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_modules&#34;&gt;Modules&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Functions:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy&#34;&gt;cowboy(3)&lt;/a&gt; - Listener management
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_req&#34;&gt;cowboy_req(3)&lt;/a&gt; - Request and response
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt; - Router
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Protocols:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_http&#34;&gt;cowboy_http(3)&lt;/a&gt; - HTTP/1.1
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_http2&#34;&gt;cowboy_http2(3)&lt;/a&gt; - HTTP/2
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt; - Websocket
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Handlers:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_static&#34;&gt;cowboy_static(3)&lt;/a&gt; - Static file handler
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Behaviors:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_handler&#34;&gt;cowboy_handler(3)&lt;/a&gt; - Plain HTTP handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_loop&#34;&gt;cowboy_loop(3)&lt;/a&gt; - Loop handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_middleware&#34;&gt;cowboy_middleware(3)&lt;/a&gt; - Middlewares
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_rest&#34;&gt;cowboy_rest(3)&lt;/a&gt; - REST handlers

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt; - Websocket handlers
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Middlewares:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_router&#34;&gt;cowboy_router(3)&lt;/a&gt; - Router middleware
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowboy_handler&#34;&gt;cowboy_handler(3)&lt;/a&gt; - Handler middleware
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_dependencies&#34;&gt;Dependencies&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../ranch&#34;&gt;ranch(7)&lt;/a&gt; - Socket acceptor pool for TCP protocols
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;../cowlib&#34;&gt;cowlib(7)&lt;/a&gt; - Support library for manipulating Web protocols
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
ssl - Secure communication over sockets
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
crypto - Crypto functions
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;All these applications must be started before the &lt;code&gt;cowboy&lt;/code&gt;
application. To start Cowboy and all dependencies at once:&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;{&lt;span style=&#34;color: #FF6600&#34;&gt;ok&lt;/span&gt;, &lt;span style=&#34;color: #990000&#34;&gt;_&lt;/span&gt;} &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;application:ensure_all_started&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #FF6600&#34;&gt;cowboy&lt;/span&gt;)&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_environment&#34;&gt;Environment&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The &lt;code&gt;cowboy&lt;/code&gt; application does not define any application
environment configuration parameters.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_see_also&#34;&gt;See also&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;../ranch&#34;&gt;ranch(7)&lt;/a&gt;,
&lt;a href=&#34;../cowlib&#34;&gt;cowlib(7)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>cowboy:set_env(3)</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy.set_env/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy.set_env/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_name&#34;&gt;Name&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;cowboy:set_env - Update a listener&amp;#8217;s environment value&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_description&#34;&gt;Description&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;set_env&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;  &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;ranch:ref&lt;/span&gt;&lt;/span&gt;(),
        &lt;span style=&#34;color: #009900&#34;&gt;Key&lt;/span&gt;   &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000080&#34;&gt;atom&lt;/span&gt;&lt;/span&gt;(),
        &lt;span style=&#34;color: #009900&#34;&gt;Value&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;any&lt;/span&gt;&lt;/span&gt;())
    &lt;span style=&#34;color: #990000&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span style=&#34;color: #FF6600&#34;&gt;ok&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Set or update an environment value for a previously started
listener.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This is most useful for updating the routes dynamically,
without having to restart the listener.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The new value will only be available to new connections.
Pre-existing connections will still use the old value.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_arguments&#34;&gt;Arguments&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;dlist&#34;&gt;&lt;dl&gt;
&lt;dt class=&#34;hdlist1&#34;&gt;
Name
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;
The name of the listener to update.
&lt;/p&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The name of the listener is the first argument given to the
&lt;a href=&#34;../cowboy.start_clear&#34;&gt;cowboy:start_clear(3)&lt;/a&gt;,
&lt;a href=&#34;../cowboy.start_tls&#34;&gt;cowboy:start_tls(3)&lt;/a&gt; or
&lt;a href=&#34;../ranch.start_listener&#34;&gt;ranch:start_listener(3)&lt;/a&gt; function.&lt;/p&gt;&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&#34;hdlist1&#34;&gt;
Key
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;
The key in the environment map. Common keys include &lt;code&gt;dispatch&lt;/code&gt;
and &lt;code&gt;middlewares&lt;/code&gt;.
&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&#34;hdlist1&#34;&gt;
Value
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;
The new value.
&lt;/p&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The type of the value differs depending on the key.&lt;/p&gt;&lt;/div&gt;
&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_return_value&#34;&gt;Return value&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The atom &lt;code&gt;ok&lt;/code&gt; is returned on success.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;An &lt;code&gt;exit:badarg&lt;/code&gt; exception is thrown when the listener does
not exist.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_changelog&#34;&gt;Changelog&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;1.0&lt;/strong&gt;: Function introduced.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_examples&#34;&gt;Examples&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;title&#34;&gt;Update a listener&amp;#8217;s routes&lt;/div&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;color: #009900&#34;&gt;Dispatch&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy_router:compile&lt;/span&gt;&lt;/span&gt;([
    {&lt;span style=&#34;color: #FF6600&#34;&gt;&#39;_&#39;&lt;/span&gt;, [
        {&lt;span style=&#34;color: #FF0000&#34;&gt;&#34;/&#34;&lt;/span&gt;, &lt;span style=&#34;color: #FF6600&#34;&gt;toppage_h&lt;/span&gt;, []},
        {&lt;span style=&#34;color: #FF0000&#34;&gt;&#34;/ws&#34;&lt;/span&gt;, &lt;span style=&#34;color: #FF6600&#34;&gt;websocket_h&lt;/span&gt;, []}
    ]}
]),

&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy:set_env&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #FF6600&#34;&gt;example&lt;/span&gt;, &lt;span style=&#34;color: #FF6600&#34;&gt;dispatch&lt;/span&gt;, &lt;span style=&#34;color: #009900&#34;&gt;Dispatch&lt;/span&gt;)&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_see_also&#34;&gt;See also&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;../cowboy&#34;&gt;cowboy(3)&lt;/a&gt;,
&lt;a href=&#34;../cowboy.start_clear&#34;&gt;cowboy:start_clear(3)&lt;/a&gt;,
&lt;a href=&#34;../cowboy.start_tls&#34;&gt;cowboy:start_tls(3)&lt;/a&gt;,
&lt;a href=&#34;../ranch.set_protocol_options&#34;&gt;ranch:set_protocol_options(3)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>cowboy:start_clear(3)</title>
      <link>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy.start_clear/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ninenines.eu/docs/en/cowboy/2.0/manual/cowboy.start_clear/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_name&#34;&gt;Name&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;cowboy:start_clear - Listen for connections using plain TCP&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_description&#34;&gt;Description&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;start_clear&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;          &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;ranch:ref&lt;/span&gt;&lt;/span&gt;(),
            &lt;span style=&#34;color: #009900&#34;&gt;NumAcceptors&lt;/span&gt;  &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;non_neg_integer&lt;/span&gt;&lt;/span&gt;(),
            &lt;span style=&#34;color: #009900&#34;&gt;TransportOpts&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;ranch_tcp:opts&lt;/span&gt;&lt;/span&gt;(),
            &lt;span style=&#34;color: #009900&#34;&gt;ProtocolOpts&lt;/span&gt;  &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;opts&lt;/span&gt;&lt;/span&gt;())
    &lt;span style=&#34;color: #990000&#34;&gt;-&amp;gt;&lt;/span&gt; {&lt;span style=&#34;color: #FF6600&#34;&gt;ok&lt;/span&gt;, &lt;span style=&#34;color: #009900&#34;&gt;ListenerPid&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;::&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000080&#34;&gt;pid&lt;/span&gt;&lt;/span&gt;()}
     | {&lt;span style=&#34;color: #FF6600&#34;&gt;error&lt;/span&gt;, &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;any&lt;/span&gt;&lt;/span&gt;()}&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Start listening for connections over a clear TCP channel.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Both HTTP/1.1 and HTTP/2 are supported on this listener.
HTTP/2 has two methods of establishing a connection over
a clear TCP channel. Both the upgrade and the prior knowledge
methods are supported.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_arguments&#34;&gt;Arguments&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;dlist&#34;&gt;&lt;dl&gt;
&lt;dt class=&#34;hdlist1&#34;&gt;
Name
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;
The listener name is used to refer to this listener in
future calls, for example when stopping it or when
updating the routes defined.
&lt;/p&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;It can be any Erlang term. An atom is generally good enough,
for example &lt;code&gt;api&lt;/code&gt;, &lt;code&gt;my_app_clear&lt;/code&gt; or &lt;code&gt;my_app_tls&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&#34;hdlist1&#34;&gt;
NumAcceptors
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;
The number of acceptors is the number of processes that
will accept connections. Tweak this value to improve the
accept rate for incoming connections.
&lt;/p&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The ideal value is between 10 and 100 on most systems.
Larger values may have the opposite effect and reduce the
accept rate. It&amp;#8217;s generally safe to start with a value of
100 (or 10 on low memory systems). Then, when accept rates
become a concern, measure the performance and update the
value accordingly.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;This value is unrelated to the maximum number of concurrent
connections.&lt;/p&gt;&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&#34;hdlist1&#34;&gt;
TransportOpts
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;
The transport options are where the TCP options, including
the listener&amp;#8217;s port number, are defined. Transport options
are provided as a list of keys and values, for example
&lt;code&gt;[{port, 8080}]&lt;/code&gt;.
&lt;/p&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The available options are documented in the
&lt;a href=&#34;../ranch_tcp&#34;&gt;ranch_tcp(3)&lt;/a&gt; manual.&lt;/p&gt;&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&#34;hdlist1&#34;&gt;
ProtocolOpts
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;
The protocol options are in a map containing all the options for
the different protocols that may be involved when connecting
to the listener, including HTTP/1.1 and HTTP/2 but also
subprotocols like Websocket.
&lt;/p&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The HTTP/1.1 options are documented in the
&lt;a href=&#34;../cowboy_http&#34;&gt;cowboy_http(3)&lt;/a&gt; manual;
the HTTP/2 options in
&lt;a href=&#34;../cowboy_http2&#34;&gt;cowboy_http2(3)&lt;/a&gt;;
and the Websocket options in
&lt;a href=&#34;../cowboy_websocket&#34;&gt;cowboy_websocket(3)&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_return_value&#34;&gt;Return value&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;An ok tuple is returned on success. It contains the pid of
the top-level supervisor for the listener.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;An error tuple is returned on error. The error reason may
be any Erlang term.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;A common error is &lt;code&gt;eaddrinuse&lt;/code&gt;. It indicates that the port
configured for Cowboy is already in use.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_changelog&#34;&gt;Changelog&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;2.0&lt;/strong&gt;: HTTP/2 support added.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;2.0&lt;/strong&gt;: Function introduced. Replaces &lt;code&gt;cowboy:start_http/4&lt;/code&gt;.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_examples&#34;&gt;Examples&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;title&#34;&gt;Start a listener&lt;/div&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;color: #009900&#34;&gt;Dispatch&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy_router:compile&lt;/span&gt;&lt;/span&gt;([
    {&lt;span style=&#34;color: #FF6600&#34;&gt;&#39;_&#39;&lt;/span&gt;, [
        {&lt;span style=&#34;color: #FF0000&#34;&gt;&#34;/&#34;&lt;/span&gt;, &lt;span style=&#34;color: #FF6600&#34;&gt;toppage_h&lt;/span&gt;, []}
    ]}
]),

{&lt;span style=&#34;color: #FF6600&#34;&gt;ok&lt;/span&gt;, &lt;span style=&#34;color: #990000&#34;&gt;_&lt;/span&gt;} &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy:start_clear&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #FF6600&#34;&gt;example&lt;/span&gt;, &lt;span style=&#34;color: #993399&#34;&gt;100&lt;/span&gt;, [{&lt;span style=&#34;color: #FF6600&#34;&gt;port&lt;/span&gt;, &lt;span style=&#34;color: #993399&#34;&gt;8080&lt;/span&gt;}], #{
    &lt;span style=&#34;color: #0000FF&#34;&gt;env&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&amp;gt;&lt;/span&gt; #{&lt;span style=&#34;color: #0000FF&#34;&gt;dispatch&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color: #009900&#34;&gt;Dispatch&lt;/span&gt;}
})&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&#34;listingblock&#34;&gt;
&lt;div class=&#34;title&#34;&gt;Start a listener on a random port&lt;/div&gt;
&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite --&gt;
&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color: #FF6600&#34;&gt;example&lt;/span&gt;,

{&lt;span style=&#34;color: #FF6600&#34;&gt;ok&lt;/span&gt;, &lt;span style=&#34;color: #990000&#34;&gt;_&lt;/span&gt;} &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;cowboy:start_clear&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;, &lt;span style=&#34;color: #993399&#34;&gt;100&lt;/span&gt;, [], #{
    &lt;span style=&#34;color: #0000FF&#34;&gt;env&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&amp;gt;&lt;/span&gt; #{&lt;span style=&#34;color: #0000FF&#34;&gt;dispatch&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color: #009900&#34;&gt;Dispatch&lt;/span&gt;}
}),

&lt;span style=&#34;color: #009900&#34;&gt;Port&lt;/span&gt; &lt;span style=&#34;color: #990000&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;ranch:get_port&lt;/span&gt;&lt;/span&gt;(&lt;span style=&#34;color: #009900&#34;&gt;Name&lt;/span&gt;)&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_see_also&#34;&gt;See also&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;../cowboy&#34;&gt;cowboy(3)&lt;/a&gt;,
&lt;a href=&#34;../cowboy.start_tls&#34;&gt;cowboy:start_tls(3)&lt;/a&gt;,
&lt;a href=&#34;../cowboy.stop_listener&#34;&gt;cowboy:stop_listener(3)&lt;/a&gt;,
&lt;a href=&#34;../ranch&#34;&gt;ranch(3)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
  </channel>
</rss>