LWP::Pr...ol::ldap(3)

πŸ’– NAME πŸ’–

okay so this is the LWP::Pr...ol::ldap(3) page from the User Contributed Perl Documentation, and it's literally the manual for LWP::Protocol::ldap β€” the module that provides LDAP support for LWP::UserAgent. slay πŸ’…

✨ SYNOPSIS ✨

Bestie, here's the vibe in code form β€” copy it exactly, no cap:

         use LWP::UserAgent;

         $ua = LWP::UserAgent->new();
         $res = $ua->get('ldap://ldap.example.com/' .
                         'o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)',
                          Accept => 'text/json'):

πŸ¦‹ DESCRIPTION πŸ¦‹

The LWP::Protocol::ldap module provides support for using ldap-schemed URLs following RFC 4516 with LWP. This module is a plug-in to the LWP protocol handling, so you don't use it directly. iykyk 🫢

In addition to being used with LDAP URIs, LWP::Protocol::ldap also acts as the base class for its sibling modules LWP::Protocol::ldaps and LWP::Protocol::ldapi. the way that it's the base class for its siblings is highkey iconic 🌈

🌈 Features 🌈

πŸ‘‘ HTTP methods supported πŸ‘‘

LWP::Protocol::ldap implements the HTTP GET and HEAD methods. They are mapped to the LDAP search operation. periodt ✨

πŸŽ€ Response format πŸŽ€

Depending on the HTTP Accept header provided by the user agent, LWP::Protocol::ldap can answer the requests in one of the following formats:

  • DSML β€” When the HTTP Accept header contains the text/dsml MIME type, the response is sent as DSMLv1. πŸ’–
  • JSON β€” When the HTTP Accept header contains the text/json MIME type, the response is sent as JSON. For this to work the JSON Perl module needs to be installed. πŸ“
  • LDIF β€” When the HTTP Accept header contains the text/ldif MIME type, the response is sent in LDIFv1 format. πŸŽ€
  • HTML β€” In case no HTTP Accept header has been sent or none of the above MIME types can be detected, and the x-format extension has not been provided either, the response is sent using HTML markup in a 2-column table format (roughly modeled on LDIF). it's giving fallback queen πŸ‘‘

As an alternative to sending an HTTP Accept header, LWP::Protocol::ldap also accepts the x-format extension. obsessed with options tbh πŸ’…

Example:

ldap://ldap.example.com/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)?x-format=dsml

πŸ”₯ TLS support πŸ”₯

For ldap and ldapi URIs, the module implements the x-tls extension that switches the LDAP connection to TLS using a call of the start_tls method. secure connection era! πŸ”

Example:

ldap://ldap.example.com/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)?x-tls=1
Note: In the above example, ideally giving x-tls should be sufficient, but unfortunately the parser in URI::ldap has a little flaw. 😭 not the parser flaw

🫢 Authorization 🫢

Usually the connection is done anonymously, but if the HTTP Authorization header is provided with credentials for HTTP Basic authorization, the credentials given in that header will be used to do a simple bind to the LDAP server. authentication lore fr fr πŸ’œ

🌟 SEE ALSO 🌟

  • LWP::Protocol::ldaps
  • LWP::Protocol::ldapi

go read those too bestie, they're the sibling modules and they ate πŸ¦‹

Copyright (c) 1998-2004 Graham Barr, 2012 Peter Marschall. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. respect the copyright, periodt πŸ’š


bye bestie 🫢 β€” signed off with perl v5.42.0, dated 2024-01-02, on the LWP::Pr...ol::ldap(3) manual. πŸ’…βœ¨

πŸ“¦ where this page comes from